javascript
  • jquery
  • html
  • 2012-08-06 78 views 3 likes 
    3

    我需要下載一個文件(test.xml)並允許/提示用戶在點擊下載按鈕時保存文件。該文件駐留在URL「http://localhost/test/test.xml」中。javascript文件下載

    我已經添加HTML代碼

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

    和JavaScript代碼是

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

    但這打開的頁面中的新窗口。如何提示下載並保存文件。任何投入都會有所幫助。謝謝

    +0

    Downvote爲Java代碼。 – LastStar007 2012-08-06 18:48:11

    +0

    和我想知道,你標記爲這個問題的Java? – Shreedhar 2012-08-06 18:48:43

    +2

    他可能只是不知道java和javascirpt是否不同。 – 2012-08-06 18:49:06

    回答

    2

    您必須更改標題中的內容類型。你需要做一些服務器腳本或配置你的網絡服務器。

    我用Google搜索的鏈接,這將有助於你在正確的方向:http://www.boutell.com/newfaq/creating/forcedownload.html

    +0

    你可以在XHR上設置標題...有什麼可以做的嗎? – AlanFoster 2012-08-06 18:53:40

    +1

    XHR幫助您修改請求,我知道您必須更改響應中的Content-type標頭。 – 2012-08-06 18:55:20

    -1

    HTML:

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

    JavaScript代碼裏面:

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

    REF:https://stackoverflow.com/a/4864264/405117

    +0

    這是錯誤的,它不會顯示另存爲對話框。閱讀您正在轉介的帖子。 – 2012-08-06 19:27:35

    2

    使用你的初始代碼,如果你有權訪問後端,被請求的XML時,它添加以下標題:

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

    另一條途徑是使用XMLHttpRequest來獲取該文件,然後使用Flash插件保存它。我用這個方法一個位,和閃存瑞士法郎可以發現here

    0

    設定爲XML的響應報頭中的內容類型是application/xml

     相關問題

    • 暫無相關問題^_^