asp.net - Azure blob 是否需要文件扩展名?

标签 asp.net asp.net-mvc azure azure-blob-storage

我使用 Azure 存储帐户将图像和文件存储为 block blob。

只要设置了内容类型属性,浏览器似乎就能够在没有扩展名的情况下正确提供图像。例如,这将显示为普通图像:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12

出于某种原因,使用扩展名保存 blob 名称是否会更好:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12.jpg

我选择不使用扩展的原因是我不需要数据库中的扩展字段,我可以只使用 ids 来提供图像。

最佳答案

简单的答案是否定的。您实际上不需要指定文件扩展名来提供图像。这里的问题是内容类型应该正确设置。内容类型告诉浏览器如何提供内容。

即使您设置了扩展程序但未设置内容类型,在这种情况下某些浏览器也将无法提供内容。我见过很多问题,如果图像文件的内容类型设置不正确,Chrome 会提示下载图像文件而不是显示内联内容。

我能想到的一个使用案例是,当您将这些文件下载到本地计算机上时,文件扩展名会很方便。根据文件扩展名,您的本地计算机将决定用于查看/编辑这些文件的应用程序。

关于asp.net - Azure blob 是否需要文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37635387/

相关文章:

ASP.NET Ajax 控制套件与 JQuery

asp.net-mvc - allowDefinition ='MachineToApplication' 错误设置 <MvcBuildViews>true</MvcBuildViews>

asp.net-mvc - 小数和整数的 MVC 编辑器模板

azure - 关于登录/授权请求的 Azure B2C 定价的澄清

Azure 函数无法识别 Get-AzADApplication

asp.net - 从 SQLException 错误输出异常

asp.net - 如何在另一个中继器中找到中继器

c# - 在 MVC 操作中隐藏查询字符串

azure - 出站 IP 地址 Azure API 管理

c# - Web API Controller 返回任务并不总是等待任务完成(puppeteer-sharp)