Я пишу программу, которая может загружать изображения из указанных путей к файлам из нашего хранилища Azure.
Я собрал следующую функцию из кода, найденного в Интернете, и затем удалил ошибки.Тем не менее, последние ошибки, от которых я не могу избавиться.
Полный код ниже:
using System;
using System.Windows.Forms;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System.IO;
namespace WarehousePhotoProgram
{
public partial class Form1 : Form
{
string storageConnectionString = Environment.GetEnvironmentVariable("storageconnectionstring");
public Form1()
{
InitializeComponent();
}
private void DownloadFileFromBlob(string fileName, string containerName)
{
CloudStorageAccount account = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(storageConnectionString));
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
CloudBlob blob = container.GetBlobReference(fileName);
MemoryStream memStream = new MemoryStream();
blob.DownloadToStream(memStream);
Response.ContentType = blob.Properties.ContentType;
Response.AddHeader("Content-Disposition", "Attachment; filename=" + fileName.ToString());
Response.AddHeader("Content-Length", blob.Properties.Length.ToString());
Response.BinaryWrite(memStream.ToArray());
}
}
}
В настоящее время код ошибки RoleEnvironment
говорит о том, что пространство имен не существует, я пропустил ссылку на сборку?Или мне нужно импортировать еще using
.Вторая ошибка на всех Result.
, снова заявляя, что Response
не существует.
Является ли это также лучшим подходом к загрузке изображений из BlobStorage или я должен использовать другой подход к нему?
РЕДАКТИРОВАТЬ: я исправил ошибку RoleEnvironment
с помощью данного ответа,Теперь попытайтесь определить, что раздел ответа должен также измениться.
public Form1()
{
InitializeComponent();
//_storageAccount = CloudStorageAccount.Parse(storageConnectionString);
DownloadFileFromBlob("029000/1.png", "warehouseimages", "Desktop");
}
private void DownloadFileFromBlob(string fileName, string containerName, string localFilePath)
{
CloudStorageAccount account = CloudStorageAccount.Parse(storageConnectionString);
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(containerName);
CloudBlob blob = container.GetBlobReference(fileName);
using (var fileStream = System.IO.File.OpenWrite(localFilePath))
{
blob.DownloadToStream(fileStream);
MessageBox.Show("SUCCESS");
}
}