当我遇到一些问题时,我正在开发下载 blob 功能。
我希望用户能够下载 blob,并且当该项目下载到用户计算机时我希望该项目有一个特定的文件名。我还希望用户决定将该项目保存到哪个文件夹。
这是我到目前为止看起来不太好看的代码:
var fileName = "tid.txt9c6b412a-270a-4f67-8e65-7ce2bf87503d";
var containerName = "uploads";
CloudStorageAccount account = CloudStorageAccount.DevelopmentStorageAccount;
var blobClient = account.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blob = container.GetBlockBlobReference(fileName);
using (var filestream = System.IO.File.OpenWrite(@"C:\Info\tid.txt9c6b412a-270a-4f67-8e65-7ce2bf87503d"))
{
blob.DownloadToStream(filestream);
}
文件名 = blob 名称
可以改名字吗?文件结尾弄乱了我的指南。 目前下载到的文件夹是 C:\Info.. 当网站发布时,这将如何工作?如何让用户决定项目应保存到哪个文件夹?我这样做对吗?
提前谢谢你 /菲利普
最佳答案
How would this work when the website is published?
对用户来说很慢,对你来说却很昂贵。您正在通过应用程序传输 BLOB,因此您会遇到瓶颈。使用Shared Access Signatures并直接从浏览器下载 blob。使用 Content-Disposition
作为 URL 的一部分,让浏览器通过“另存为”对话框提示用户。请参阅Javascript download a URL - Azure Blob Storage .
关于asp.net-mvc - Azure 将 blob 下载到用户计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575221/