gpt4 book ai didi

c# - 从 Azure Blob 存储下载图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:03 24 4
gpt4 key购买 nike

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

最佳答案

RoleEnvironment 类是 Microsoft.WindowsAzure.ServiceRuntime 命名空间的一部分,我从旧的经典云服务中了解到该命名空间。

您可能应该使用ConfigurationManager来检索您的设置。

参见Configuration in ASP.NET Core或者,如果您使用 .NET 完整框架,请阅读更多相关信息 here .

关于c# - 从 Azure Blob 存储下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50813547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com