[英]How to download XML file from server on click button?
我有指向XML文件的链接,该文件位于服务器上。 当用户单击按钮时,他必须进行对话框以将XML文件保存到本地磁盘。 我确定在“a href”中链接到XML文件,但是浏览器打开了这个文件,而不是保存。 如果我“另存为链接..”都OK。 请帮我解决这个问题。
更新:服务器 - IIS。 XML文件动态创建。 我将onClick事件发送到js链接到我的XML文件,将js POST链接发送到使用ajax的php。 如何修改我的PHP以打开“保存对话框”以保存XML文件? JS:
function funk(url)
{
var ajax = getRequest();
ajax.onreadystatechange = function()
{
if(ajax.readyState == 4)
{
...
}
}
ajax.open("POST", "/do_query.php", true);
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = 'info='+url;
ajax.send(data);
}
php(do_query.php):
<?php
if (isset($_POST['info']))
{
$info = $_POST['info'];
}
?>
XML文件应带有HTTP标头Content-Disposition: attachment
。 这告诉浏览器下载文件而不是打开文件。 当然,还必须适当设置Content-Type
标头( application/xml
是通用XML mime类型)。 添加HTTP标头的方式取决于您的服务器配置:请编辑问题以添加一些详细信息。
在Apache .htaccess
,它是
Header set Content-Disposition attachment
在其他服务器中,它会有所不同。
最简单的方法是制作一个链接到的php文件,并使该php文件包含类似
<?php
header('Content-Type: application/xml;');
header('Content-Disposition: attachment; filename=blah.xml;');
readfile('blah.xml');
这应该强制文件被视为下载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.