从 Azure Blob 存储下载图像

我正在编写一个程序,该程序可以从 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");

    }



梦里花落0921
浏览 193回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP