目前,当我使用以下内容构建 URL 时,我遇到了 Azure 文件存储问题共享访问签名 (SAS) 令牌 https://learn.microsoft.com/en-us/azure/storage/common/storage-dotnet-shared-access-signature-part-1。该文件将在浏览器中下载,但内容类型始终是应用程序/八位字节流,而不是更改以匹配文件的 mime 类型。如果我将文件放入 Azure BLOB 存储中并使用 SAS 令牌构建 URL,它会发送我的文件的正确内容类型 (image/jpeg)。
我已将存储帐户从 V1 升级到 V2,认为这就是问题所在,但并没有解决问题。
有谁知道我可以尝试什么,让 Azure 文件存储使用带有 SAS 令牌的 URL 返回正确的内容类型来下载文件?
到目前为止,这些是我发现的内容类型的唯一修复:
- 使用 Microsoft Azure 存储资源管理器手动修改内容类型字符串。您必须右键单击该文件并左键单击属性才能显示对话框。
- 使用 Microsoft 的 WindowsAzure.Storage Nuget 包以编程方式修改该文件。
- 通过我自己的网站下载表面文件,并且不允许直接访问。
对我来说,这些都不是可以接受的选择。如果用户通过门户或 Microsoft Azure Storage Explore 上传文件并忘记更改内容类型,前两种情况可能会导致错误。我也不想编写 Azure Functions 或 Web 作业来监视和修复此问题。
由于 Blob 存储在通过 Microsoft Azure Storage Explore 或通过门户上传时不会出现相同的问题,因此成本要低得多,并且都可以使用 SAS 令牌,因此我们正在转向 Blob 存储。我们确实失去了将驱动器安装到本地计算机并使用 Beyond Compare 之类的工具进行文件比较的能力,但这是我们可以忍受的缺点。
如果有人有比上面提到的更好的解决方案来解决这个问题,我会很乐意投票。不过,我认为微软必须做出改变才能解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)