从blob下载本地工作,但不是在发布后
我创建了一个网站,可以用来上传文件到云并下载它。当我尝试下载文件时,它在本地运行一切正常。将文件发布到Azure后,状态显示该文件已下载,但文件在下载位置不可用。 由于提前从blob下载本地工作,但不是在发布后
//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的一部分)
thnx Andiih给你回复。恰恰wat你说的是我的网站的错误。现在我清除了我的错误,并设置为wrk :) thnx很多 我以前也有过下面的博客。 http://blogs.msdn.com/b/avkashchauhan/archive/2011/04/05/downloading-word-and-excel-files-from-windows-azure-storage-in-a-asp-net-web -role.aspx – 2013-03-24 19:46:46
酷 - 你引用的代码使用DownloadToStream,几乎正是我所做的:-) – Andiih 2013-03-25 08:56:16
@Jothishwar RS,请在您的问题中重新格式化您的代码并多解释一下以获得帮助。 – jay 2013-03-24 17:30:40
我认为问题在于我设置了将文件保存到本地光盘的路径。错误可能是因为服务器没有适当的权限来创建文件。我想知道如何改变我的代码,以允许从服务器下载文件,同时在本地正常工作。 谢谢 – 2013-03-24 18:49:10