[英]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.