如何使用jQuery在GET之后更改文档名称

时间:2014-01-24 14:22:05

标签: javascript jquery

我们正在使用基于Ajax的报告包,我可以用我自己的jQuery / javascript来增强它。我们遇到的问题之一是它会生成如下的超链接:

<a href="//server/abcdefghijklmnopqrstuvwxyz.xlsx" target="_blank">

由于客户端的浏览器不知道如何处理.xlsx文件,因此会将它们下载到本地驱动器。没关系。问题是客户端讨厌那些长文件名,并希望用更短的文件替换它们(为了争论,让我们说“abc.xlsx”)。

我不能只更改href,因为服务器需要长名称来标识返回的数据,所以我需要的是一种使用原始URL执行GET但是然后更改返回文件名称的方法它使用较短的名称存储在本地。

我知道如何使用jQuery覆盖超链接的click函数并使用$ .get()来获取数据。我不知道的是,一旦我获得数据来改变它的明显文件名,我该怎么做。

3 个答案:

答案 0 :(得分:1)

对于现代浏览器,您可以使用download属性:

<a href="//server/abcdefghijklmnopqrstuvwxyz.xlsx" download="shortName.xlsx" target="_blank">

答案 1 :(得分:0)

标签有一个名为“download”的属性,可以像

一样使用
<a href="//server/abcdefghijklmnopqrstuvwxyz.xlsx" download="abc.xlsx">Download</a>

在jquery中必须是

之类的东西
$('a').attr('download', 'abc.xlsx');

答案 2 :(得分:0)

您可以在锚标记(a)中使用属性下载,该标记仅适用于Firefox和Chrome。更多信息http://www.w3schools.com/tags/att_a_download.asp

但这是一个服务器端脚本解决方案Change file name for download and start downloading it after click or delay