2010-10-14 160 views
0

好的,我已經通過「相關問題」部分很好的閱讀,我還沒有找到答案。我正在使用ajax請求force a php download。事情在PHP結束時工作正常。假設我有一個名爲DATA的數據流。現在,我想彈出一個「另存爲...」對話框。Javascript處理php讀取文件八位字節流

瀏覽器收到一串十六進制值。現在,我該如何處理客戶端(javascript)上的這個DATA

這是我使用的PHP代碼,每上面的鏈接:

header('Content-type: application/octet-stream'); 
header('Content-Disposition: attachment; filename=$file'); 
readfile($file); 

我已經試過

  • window.open(DATA) - >六角流不存在提交表單與動作作爲DATA(當然)
  • - >同樣的問題

順便說一句,如果我從PHP回顯文件,然後使用window.open,它有時會起作用。但不適用於txt文件或jpgs等

我見過這個工作在其他網站 - 他們是怎麼做到的?提前致謝。

回答

0

這是我一直在尋找的答案:

window.open("downloadPage.php"); 

...它每次彈出一個框。 ajax請求的問題是返回的文件流被解釋爲XMLHttpRequestObj.reponseText

瀏覽器顯然對此有不同解釋,並且不允許下載。