Azure blob 是否需要文件扩展名?
Are file extensions necessary for Azure blobs?
我正在使用 Azure 存储帐户将图像和文件存储为块 blob。
只要设置了内容类型 属性,浏览器似乎就可以在没有扩展名的情况下正确提供图像。例如,这将显示为普通图像:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12
出于任何原因,使用扩展名保存 blob 名称是否更好:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12.jpg
我选择不使用扩展的原因是我不需要数据库中的扩展字段,我可以只使用 ids 来提供图像。
简单的回答是否定的。您实际上不需要指定文件扩展名来提供图像。这里的问题是应该正确设置内容类型。内容类型告诉浏览器如何提供内容。
即使您设置了扩展名但未设置内容类型,在这种情况下某些浏览器将无法提供内容。我见过很多问题,如果图像文件的内容类型设置不正确,Chrome 会提示下载图像文件而不是直接显示内容。
我能想到的一个用例是当您在本地计算机上下载这些文件时文件扩展名会派上用场。根据文件扩展名,您的本地计算机将决定用于 view/edit 这些文件的应用程序。
我正在使用 Azure 存储帐户将图像和文件存储为块 blob。
只要设置了内容类型 属性,浏览器似乎就可以在没有扩展名的情况下正确提供图像。例如,这将显示为普通图像:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12
出于任何原因,使用扩展名保存 blob 名称是否更好:https://navhomeprod.blob.core.windows.net/facilityroomphotos/12.jpg
我选择不使用扩展的原因是我不需要数据库中的扩展字段,我可以只使用 ids 来提供图像。
简单的回答是否定的。您实际上不需要指定文件扩展名来提供图像。这里的问题是应该正确设置内容类型。内容类型告诉浏览器如何提供内容。
即使您设置了扩展名但未设置内容类型,在这种情况下某些浏览器将无法提供内容。我见过很多问题,如果图像文件的内容类型设置不正确,Chrome 会提示下载图像文件而不是直接显示内容。
我能想到的一个用例是当您在本地计算机上下载这些文件时文件扩展名会派上用场。根据文件扩展名,您的本地计算机将决定用于 view/edit 这些文件的应用程序。