当前位置: 首页 > 编程语言 > C#

从AzureBlobStorage下载文件分享

时间:2023-04-10 19:28:22 C#

从AzureBlobStorage下载文件我有一个应用程序,允许用户上传存储在AzureBlobStorage中的照片。用户还可以查看这些照片。要查看它们,我们希望应用程序将图像下载到默认下载位置。目前,上传工作完美。但是我找到的AzureAPI的下载功能似乎没有任何作用。此外,我无法真正指定下载位置,因为此功能需要在台式机/笔记本电脑以及具有不同默认目录的移动设备上运行。这看起来应该很简单,但我找不到任何可以帮助我的东西。这是我的代码示例:CloudBlobContainercontainer=blobClient.GetContainerReference("photos");CloudBlobblob=container.GetBlobReference(photo.BlobUrl);//将blob从云端复制到本地图库blob.DownloadToFile(photo.ImageName);blob.DownloadToFile(photo.ImageName);导致服务器请求但没有任何反应,即没有文件被下载。有什么理由不能让客户端直接从blob存储下载文件并使用内置的浏览器功能来保存它?如果文件是私有的,则生成SAS签名非常容易。这将通过您的服务器卸载下载并消除该开销。这里:blob.DownloadToFile(photo.ImageName);您需要告诉它保存文件的位置以及您想要的名称:blob.DownloadToFile("C:mycutepuppy.jpg");您可以使用System.Environment.SpecialFolder枚举根据当前系统查找文件夹,然后附加您想要的图像名称;这是一个更完整的示例:varimgPath=Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory),+photo.ImageName);blob.DownloadToFile(imgPath);这会将图像保存到用户桌面目录所在的正确路径。这是特殊文件夹枚举的文档。http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx我不知道你对这段代码有什么期望,但尤其是在不同平台的情况下,这是行不通的。我建议你使用DownloadToStream方法。然后您可以决定如何处理流。例如,询问用户他想把文件保存在哪里。以上就是C#学习教程:从AzureBlob存储下载文件共享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处: