2010-01-26 21 views
1

要使用JavaScript上傳文件,通常使用iFrame方法,其中維護隱藏的iframe,然後使用iframe上載文件。
使用Ajax上傳文件的不同方法

然而,據說這不是用於文件上傳的可靠方法,並且Flash用於此目的。所以我不清楚這是如何完成的?我的意思是通過Flash和JavaScript在一起?

另外我想知道,如果有任何其他方法的文件上傳?就像在客戶端讀取文件轉換成二進制數據,然後發送它或類似的東西。

謝謝大家,

回答

2

,所以我不太清楚如何做到這一點?我的意思是通過Flash和JavaScript在一起?

隨着ExternalInterface(或者更通常通過預軋Flash對象,如YUI Uploader這的確是所有你)。

我想知道如果有其他方法的文件上傳?

Java。的ActiveX。

他們使用與Flash相同的原則,但支持較弱。

像客戶端讀取的文件轉換成二進制數據

文件已二進制數據(除非它是一個文本文件),但讀它...怎麼樣? JavaScript無法訪問標準安全上下文中的文件系統。

1

iframe方法沒有什麼內在錯誤。基於Flash的上傳只是增加了更多的可能性,如顯示上傳欄,客戶端圖像調整大小,更好和更可靠的過濾選項(文件類型/大小)等。

基於Flash的上傳器允許規避<input type=file>元素所具有的一些限制,例如可以完全設置「上傳」按鈕的樣式。

看看現成的解決方案之一,看看它們是如何工作的。我最喜歡的是