Azure blob 是否需要文件扩展名?

llo*_*mas 1 asp.net asp.net-mvc azure azure-storage-blobs

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

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

出于任何原因使用扩展名保存 blob 名称会更好吗:https : //navhomeprod.blob.core.windows.net/facilityroomphotos/12.jpg

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

Gau*_*tri 5

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

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

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