再談web開中幾種經典的大檔案上傳元件

2022-01-31 15:51:36 字數 1032 閱讀 4184

1.aspnetupload

這是國人開發的一款收費.net控制項,官網 (不過也有乙個免費版本的,允許上傳10m內容,一般情況下也夠了,收費版也不貴,大致就600 rmb)

它的大概原理是把檔案分成一塊一塊的上傳,然後客戶端用ajax不斷重新整理從而顯示進度條.

這也是我使用時間最長的一種解決方案,在iis7出現以前完全沒有任何問題,但iis7及以上版本中,如果用了這個控制項,應用程式池就只能執行在「經典」模式下,無法充分發揮iis7的優點。

我向作者反饋過該問題,遺憾的是貌似作者也沒有改進的意思。

2.silverlightupload 開源專案

大致原理:利用silverlight做介面,點選上傳時發起post請求到服務端,然後不斷**顯示進度。

開啟縮圖預覽後的樣子如下:

缺點:就是有點粗糙,不方便與form表單整合.

這是我"漢化"後的原始檔(其實也就是改了改顏色,把英文換成了中文,呵呵)

3.swfupload 開源專案

這個專案很成熟,推薦使用。

這是我做的乙個小demo(asp.net4.0環境下的,必須用vs2010開啟)

最後要提醒的一點是:安全第一!凡是有上傳的地方,都是可以上傳木馬的地方,不要相信任何客戶端提交過來的檔案。(比如客戶可以把.aspx改成.jpg上傳,如果伺服器管理員發神經把.jpg對映成跟.aspx一樣,嘿嘿...)

所以我的建議是:一定要在服務端檢測檔案mime型別,要偽造這個是比較困難的,相對更安全;同時服務端上的上傳目錄不要給予任何執行許可權,只要讀取許可權即可.

Java IO讀寫大檔案的幾種方式及測試

讀取檔案大小 1.45g 第一種,oldio public static void oldioreadfile throws ioexceptionelse pw.close br.close 耗時70.79s 第二種,newio public static void newioreadfile t...

Web支援可暫停的超大檔案上傳

鎮頂 前些天遇到使用者需要上傳10gb大小以上的檔案的需求,查查網上的庫,都不好用。都沒有乙個完整的前後端的例子,要麼像resumable.js只有前端,後端寫得無比麻煩。要麼是jquery file uploader封裝得太完整,想改就很麻煩。懶人就自己寫個小而易懂大家都可以用的東西吧。支援ie ...

Web支援可暫停的超大檔案上傳

鎮頂 前些天遇到使用者須要上傳10gb大小以上的檔案的需求,查查網上的庫。都不好用。都沒有乙個完整的前後端的樣例,要麼像resumable.js僅僅有前端,後端寫得無比麻煩。要麼是jquery file uploader封裝得太完整。想改就非常麻煩。懶人就自己寫個小而易懂大家都能夠用的東西吧。支援i...