2009-12-30 56 views
2

我讀過很多文章等,試圖解釋爲什麼一個文件(例如附件等)無法通​​過AJAX上傳(至少在場景後面沒有一些「技巧」)。任何人都可以解釋爲什麼文件不能使用AJAX上傳?

任何人都可以解釋清楚和簡單,AJAX這個'功能'的技術原因?

+1

Fie API(http://www.w3.org/TR/FileAPI/)將解決這個問題,firefox 3.6確實支持它(例如:http://hacks.mozilla.org/2009/12/uploading-files -with-xmlhttprequest /) – Arjan 2009-12-30 10:07:25

回答

8

他們可以。它是XMLHttpRequest,不能用於上傳文件。 (但Ajax比XHR更多)

這是因爲,出於安全原因,JavaScript無法從文件系統讀取,因此無法將文件交給XHR。

+0

你能舉一個例子說明你的意思嗎? (即,演示如何使用您提到的「擴展AJAX」來加載文件的片段 – 2009-12-30 09:58:16

+0

將表單提交到隱藏的iframe。 – Quentin 2009-12-30 10:31:52

4

出於安全原因,現代瀏覽器不允許Javascript訪問查看器計算機上的文件。

0

文件上傳通過一個名爲multipart/form-data的標準執行。 Javascript沒有辦法讀取客戶端計算機上的文件內容。

0

只是因爲JavaScript無法訪問文件系統...出於明顯的安全原因。

相關問題