【发布时间】:2019-04-22 21:36:28
【问题描述】:
我正在尝试通过网络应用程序将文件从 azure 下载到计算机。当我在本地运行项目时它可以工作,但是当我上传到 ftp 服务器时它不会下载。
我已经尝试过 Environment.SpecialFolder.Peronal、Desktop 等。
public async Task<bool> DownloadBlobAsync(string file, string fileExtension, string directory)
{
string downlaodPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
_container = _client.GetContainerReference(containerName);
_directoy = _container.GetDirectoryReference(directory);
CloudBlockBlob blockBlob = _directoy.GetBlockBlobReference(file + "." + fileExtension);
using (var fileStream = File.OpenWrite(downlaodPath + "/"+ file + "." + fileExtension))
{
await blockBlob.DownloadToStreamAsync(fileStream);
return true;
}
}
预期的输出应该在文档或桌面上。
【问题讨论】:
-
如果您在 Web 服务器上托管 Web 应用程序,那么您很可能无权访问 Desktop 或 Personal 文件夹。这是因为 Web 应用程序在一个特殊的用户帐户下运行,该帐户对本地计算机可以访问的内容有限制。我希望将 blob 下载到临时文件夹(有 API 可以帮助您生成位于 Web 应用程序可以访问的位置的临时文件名)。值得更新您的问题,详细说明下载文件后您想要对文件执行的操作。
-
就是下载自己选择的文件。例如,有一个名为 myimage.png 的文件。他们可以点击并下载。
-
我遇到的问题是试图保存到 C: 而不是 Documents 文件夹。当我在浏览器中看到错误时,这是试图做的,而不是文档或下载文件夹的路径
标签: c# azure model-view-controller download