Здесь я использую эмулятор локального хранилища Azure. Я могу хранить изображения в хранилище BLOB-объектов. Я подключил эмулятор хранилища Azure к своей локальной БД, чтобы видеть локальный путь к изображению в базе данных. Здесь мне нужно получить путь в коде и нужно сохранить в другой таблице. вот код Мне нужно вернуть локальный путь к изображению.

  public static CloudBlockBlob getAzureStorage(string imageName)
    {
        CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference("images");
        container.CreateIfNotExists();
        CloudBlockBlob blockBlob = container.GetBlockBlobReference(imageName);
        return blockBlob;
    }

  public static string uploadToAzure(Image img, CloudBlockBlob blockBlob)
    {
        MemoryStream memoryStream = new MemoryStream();
        img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
        memoryStream.Position = 0;
        blockBlob.UploadFromStream(memoryStream);
        return String.Format("http://{0}{1}", blockBlob.Uri.DnsSafeHost, blockBlob.Uri.AbsolutePath);
    }

1 ответ1

0

Я получил ответ на вопрос. установить разрешение для общественности.T

container.SetPermissions(new BlobContainerPermissions { PublicAccess =         BlobContainerPublicAccessType.Container });
    container.CreateIfNotExists(); 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .