【问题标题】:downloading from blob works locally but not after publishing从 blob 下载在本地工作,但在发布后不能
【发布时间】:2013-03-14 03:48:45
【问题描述】:

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

【问题讨论】:

  • @Jothishwar RS,请在您的问题中重新格式化您的代码并解释一下以获得帮助。
  • 我认为问题在于我设置了将文件保存到本地磁盘的路径。该错误可能是因为服务器没有创建文件的适当权限。我想知道如何更改我的代码以允许从服务器下载文件,同时它在本地工作正常。谢谢

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


【解决方案1】:

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

【讨论】:

  • thnx Andiih 为您回复。你说的正是我网站上的错误。现在我清除了我的错误并设置为 wrk :) 非常感谢我也参考了以下博客。 blogs.msdn.com/b/avkashchauhan/archive/2011/04/05/…
  • 酷 - 您引用的代码使用 DownloadToStream 并且几乎正是我所做的 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-15
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 2014-01-14
  • 2013-10-23
相关资源
最近更新 更多