3

我需要下载一个文件(test.xml)并允许/提示用户在单击下载按钮时保存文件。该文件位于 url "http://localhost/test/test.xml" 中。

我添加了html代码

<input type=button value="Download" onclick='javascript:download()/>

和javascript代码是

function download() {
   var url = "http://localhost/test/test.xml";
       window.open(url, 'Download');
}

但这会在新窗口中打开页面。如何提示下载并保存文件。任何输入都会有所帮助。谢谢

4

4 回答 4

2

使用初始代码,如果您有权访问后端,则在请求 xml 时,添加以下标头:

Content-disposition: attachment; filename=test.xml;

另一种方法是使用 xmlhttprequest 来获取文件,然后使用 flash 插件来保存它。这个方法我用过一点,flash swf可以在这里找到

于 2012-08-06T19:10:15.797 回答
2

您必须更改标题中的内容类型。您需要编写一些服务器脚本或配置您的网络服务器。

我在 Google 上搜索了一个链接,可以帮助您朝着正确的方向前进:http: //www.booutell.com/newfaq/creating/forcedownload.html

于 2012-08-06T18:47:21.597 回答
0

将 xml 的响应标头的内容类型设置为application/xml

于 2012-08-09T00:20:24.297 回答
-1

html:

<input id="downloadthis" value="Download"/>

在javascript标签内:

  $('#downloadthis').click( function() {
window.location.href = 'http://localhost/test/test.xml';
 } );

参考:https ://stackoverflow.com/a/4864264/405117

于 2012-08-06T19:02:03.030 回答