我在 Ubuntu 20.04 上使用 Firefox (v102.0)。
当我尝试下载 HEIC 文件(Apple 使用的图像格式)时,它总是在没有扩展名的情况下被下载,所以我每次都必须重命名它。
请求和响应是完美的:
然而,这个文件被下载为IMG_5248
(没有扩展名)。
我的系统完全能够显示 heic 文件。但是当然,如果文件没有扩展名,系统就不知道如何处理它。
在同一台机器上,使用 Chrome 可以完美运行(下载相同的文件)。
如何说服 FF 尊重Content-Disposition中的文件名?
FF 没有用于处理 HEIC 的任何特定设置:
这是 HTML 部分的样子:
每当我点击它时a
,这就是请求:
除了这些标题:
我们必须检查问题是否与您的网络服务器或网络浏览器或其他问题有关
(1) 检查是否可以从这里下载一些 HEIC 文件:https ://filesamples.com/formats/heic
是否使用正确的扩展名保存?
检查https://filesamples.com/formats/png并下载一些 PNG 文件以检查是否获得正确的扩展名
(2) 如果这些工作正常,请尝试将一些 PNG (& DOC & txt) 上传到您的网络服务器并尝试下载。这是否得到正确的扩展名?是否确认只有 HEIC 存在问题?
(3) 尝试将网络服务器上的文件名更改为例如 (3A) 小写、img5248.heic (3B) “多个”扩展名、img5248.check.heic 和 img5248.heic.heic 以检查哪个“部分”正在离开out (3C) 故意“不正确”的扩展名,img5248.png
(4) 与其他用户和其他机器(可能有其他操作系统)核实,以进一步消除。
[[ 当您获得更多工作案例 + 更多非工作案例时,问题就会显现出来。]]
所有这一切,只有当您可以访问该机器和该网络服务器时!
更新:
通过比较 "Working Case" 和 "Non-Working Case" ,OP 看到了 Content-Type 的差异:
非工作案例:Content-Type 是 image/heic
工作案例:Content-Type 是 application/octet-stream
似是而非的问题:HEIC 和 HEIF 存在专利问题,这使得在没有许可问题的情况下很难支持免费软件。对于给定的格式,firefox 不完全支持,扩展名被删除。当给定“application/octet-stream”时,firefox 只是用给定的文件名保存它,包括“未知”扩展名!