2008-12-11 88 views
3

通過使用標準HTML輸入的網頁上傳文件對我來說總是顯得笨重。如果用戶試圖上傳大文件,它可以永遠持續下去,並且他們沒有得到實際上傳文件的隊列。通過HTTP處理文件上傳的最佳方式

我試圖做一些事情,比如提供一個gif圖形,這是一個動畫圖形條,但它不會給用戶上傳多少指示。我甚至試圖用AJAX做一個進度條,但這些總是很醜,似乎從來沒有工作正確。

這一直是我的許多客戶的問題,並且經常詢問是否有更好的方法。有時我只是給他們提供一個FTP站點,以便他們可以在那裏上傳,但這也不是一個實際的解決方案。

您認爲從HTML處理HTTP文件上傳的最佳方式是?你在互聯網上看到了什麼好的想法/例子?

回答

1

有與進度條通過HTTP,其中大部分涉及異步文件傳輸的幾個技巧要麼是Flash要麼是XMLHttpRequest

1

我會爲此添加swfupload。這是一款開源閃光上傳器,如果用戶沒有閃光燈,則可以優雅地降級。

+0

似乎並不非常優美的我。如果他們沒有JavaScript或Flash,它將刪除按鈕。它不會像人們所期望的那樣回退到文件上傳控制。 – 2009-10-01 05:40:09

1

真的只有通過瀏覽器上傳的一種機制。但是,您可以通過提供一個進度欄來顯示上傳正在進行並以何種速度進行打扮,並使其更加便於用戶使用。

這通常是通過在隱藏的iframe上定位上傳表單並使用AJAX調用來找出文件到達服務器的大小來完成的。

這裏有一個例子:

Megaupload

0

如果您運行的mod_perl2阿帕奇存在Apache2::UploadProgress模塊。這會向http上傳請求添加一個id,然後向服務器查詢上傳的進度。已經構建支持在彈出窗口或上載頁面內創建AJAX進度條。如果您想構建自己的進度顯示,則可以將信息重新獲取爲XML或JSON數據。

0

YUI Uploader utility使用基於Flash的上傳器,有很好的文檔記錄,並有幾個例子供您嘗試。我已經在幾個項目中使用過它,並會推薦它。

0

我使用這一個相當簡單和完整的工具。基本的源代碼很好,如果有必要,您可以輕鬆定製它。 AJAX File Upload

0

有趣的是,沒有一個人通過Dean Brettle提到NeatUpload上傳組件,它有許多有趣的功能,運行在MONO,太

+0

想知道爲什麼有些巨魔投了這個票?我是一個反巨魔,我沒有看到任何錯誤的答案。 – bgmCoder 2013-10-27 04:14:10

相關問題