簡體   English   中英

如何從點擊按鈕下載服務器上的XML文件?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM