簡體   English   中英

Ajax / Javascript - 文件下載

[英]Ajax/Javascript - File Download

  1. 客戶端(通過XMLHttpRequest請求) - >服務器。
  2. 服務器[構建CSV並將其打印在響應的輸出流上] - >客戶端。

現在步驟3應該是 - >客戶端的瀏覽器應該顯示下載對話框(保存,打開和取消)。 由於內容類型是來自服務器的純文本,並且未設置內容配置,我們可以使用javascript創建文件並提示用戶下載嗎?

我知道這個問題有些愚蠢。 但沒有其他選擇。 我必須這樣做。

更改服務器端腳本將使其成為一分鍾任務。 但我必須在客戶端這樣做。 XMLHttpRequest對象的responseText屬性將是純文本,我必須顯示文本文件的下載提示。

這可能嗎?

不是我知道的。 但您可以使用location.href (或表單,如果需要POST數據)來請求服務器端文件。 使用正確的標題( Content-Disposition: attachment ,我認為還有另一個),您可以下載而不是顯示響應。

編輯:更好的是,使用隱藏的iframe 這樣,你仍然可以在主頁面中做一個花哨的“正在加載,請稍候”的事情。

從理論上講,它可以通過使用數據URI來實現

<a download = "yourfile.csv" href="data:application/octet-stream;charset=YOURCHARSET;base64,BASE64allthedata">Generate</a>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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