如何强制下载gzip压缩数据URI的文件扩展名?

时间:2012-01-07 11:47:19

标签: html google-chrome gzip filenames data-uri

我有一个GZipped JavaScript文件,我用数据编码: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>标记之间的文字,但它根本不会影响任何内容。

1 个答案:

答案 0 :(得分:4)

除Chrome之外,似乎没有办法在浏览器中执行此操作。因此,我能想到的最佳选择是通知用户正常保存文件(以便根据内容类型自动插入适当的扩展名),然后让它们进入查找程序并重命名文件以追加' .gz'扩展名。

但是,在Chrome上,您可以使用download标记的<a>属性(我在this answer找到)。示例:http://jsfiddle.net/pYpqW/