从blob下载在本地工作,但在发布后不起作用
本文关键字:不起作用 工作 blob 下载 | 更新日期: 2023-09-27 18:05:29
我正在创建一个网站,可以用来上传文件到云,并下载相同的。当我尝试下载文件时,它在本地运行一切都很好。将文件发布到Azure后,状态显示该文件已下载,但该文件在下载位置中不可用。提前感谢
//My Download Code
` protected void OnDownloadImage(object sender, CommandEventArgs e)
{
var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
var client = account.CreateCloudBlobClient();
CloudBlobContainer blobContainer = client.GetContainerReference("Gallery");
var blobUri = (string)e.CommandArgument;
var srcBlob = this.GetContainer().GetBlobReference(blobUri);
srcBlob.FetchAttributes(new BlobRequestOptions { BlobListingDetails = BlobListingDetails.Metadata });
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
path = path + @"'AJStorage";
Directory.CreateDirectory(path);
path = path + "''" + Path.GetFileName(srcBlob.Metadata["FileName"]);
srcBlob.DownloadToFile(path);
this.status.Text = "File Download Successful. File Location : " + path;
}`
我想我明白这个问题了。你正试图将文件下载到桌面——但那将是web服务器的桌面(你几乎肯定没有权限),而不是用户的桌面(这可能是你想要的)。如果是,你不能直接这么做。相反,尝试将文件发送到HTTP响应流。(我使用DownloadToStream,这是Microsoft.WindowsAzure.StorageClient的一部分)