从blob下载可在本地使用,但不能在发布后使​​用

时间:2013-03-24 17:29:07

标签: c# visual-studio download cloud azure-storage-blobs

我正在创建一个网站,可用于将文件上传到云端并下载。当我尝试在本地运行时下载文件时,一切正常。将文件发布到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;
   }`

1 个答案:

答案 0 :(得分:0)

我想我理解这个问题。您正在尝试将文件下载到桌面 - 但这将是Web服务器的桌面(您几乎肯定没有权限),而不是用户的桌面(这可能就是您所追求的)。如果是,你不能直接这样做。而是尝试将文件发送到HTTP Response流。 (我使用的是DownloadToStream,它是Microsoft.WindowsAzure.StorageClient的一部分)