如何强制下载的gzipped数据URI保留文件扩展名?

4

我有一个GZipped的JavaScript文件,我正在使用data:URI进行编码。

例如:

<a href="data:application/x-gzip;base64,FOO">My Javascript File</a>

当用户在Chrome中右键单击并保存该文件时,我希望生成的文件名为download.js.gz。这样,当用户在Mac OS X中双击该文件时,它会被解压缩并正确地重命名为download.js,他们可以轻松查看其内容。
问题是,当我使用内容类型text/javascript(或application/x-javascript)时,文件将保存为download.js。而当我使用内容类型application/x-gzip时,文件将保存为download.gz
有没有办法让文件保存为.js.gz
这里有一个两个链接的工作示例:http://jsfiddle.net/xYm8w/3/ 文件必须是数据URI,而不是实际文件的链接。我尝试更改<a>标记之间的文本,但它根本不起作用。

有没有办法在使用data URI时指定建议的文件名? - Anders Marzi Tornblad
1个回答

4
除了Chrome浏览器外,似乎没有其他浏览器可以做到这一点。因此,我能想到的最佳选择是告诉用户正常保存文件(这样它就会根据内容类型自动插入正确的扩展名),然后让他们进入finder并重命名文件以添加“.gz”扩展名。
但在Chrome上,您可以使用此答案中发现的<a>标签的download属性。示例:http://jsfiddle.net/pYpqW/

1
正确。根据规格说明(http://www.ietf.org/rfc/rfc2397),没有指定文件名的方法。数据URL应被视为数据流,而不是文件。 - Anders Marzi Tornblad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接