【.Net碼農】C#.net檔案批量上傳解決方案附下載(swfupload)2015-8-28更新
因為最近專案需要多檔案同時上傳所以自己在網上找了下方法。swfupload做到了,所以我把我的C#.net環境的多檔案同時上傳共享給大家!(本例項最大隻能上傳500M的資料,如需要上傳更大的下面會告訴大家如何設定)
功能完全支援ie和firefox瀏覽器!
一般的WEB方式檔案上傳只能一個一個的進行上傳,在某些應用上就顯得很不人性化,客戶們都希望能夠1次選擇很多檔案,然後讓系統把選擇的檔案全部上傳。
這裡,就將針對這個問題提出一個比較完美的解決方案,利用的技術主要有2個:Flash和smartupload。Flash能夠讓客戶一次選擇多個檔案,而smartupload負責將選擇的檔案上傳到伺服器上。
有些朋友看到這裡,就知道了,其實就是swfupload方法,具體資訊可以訪問swfupload官方網站:http://www.swfupload.org/
讓我們先來看看客戶端的介面效果圖。(多選檔案,批量上傳,上傳進度顯示)
要做到圖中的效果,其實很方便,看完下面的描述,相信大家都想看看效果了。那就下載吧,附件在最下面。
下面把一些基本的方法告訴大家如何使用
首先是Default.aspx是上傳檔案的例項。比較簡單一般都不需要改什麼!下面是一些引數設定
設定檔案上傳的大小隻需要修改Web.config檔案中的maxRequestLength即可512000=1024*500得到的所以你可以設定你想要設定的大小!
C#程式碼-
<httpRuntime executionTimeout="300" maxRequestLength="512000" useFullyQualifiedRedirectUrl="false"
檔案目錄的選擇設定
找到根目錄裡面的upload.aspx的後臺程式碼upload.aspx.cs
C#程式碼- string fileName = httpFile.FileName;
- string preStr = "";
- preStr = System.DateTime.Now.ToString() + "_";
- preStr = preStr.Replace("-", "");
- preStr = preStr.Replace(":", "");
-
preStr = preStr.Replace(" ", "");//preStr是為了改變上傳的檔名稱
- string uploadPath = Server.MapPath("temp\\") + preStr + fileName;//在這裡取的是相對目錄,有個temp資料夾
- httpFile.SaveAs(uploadPath);//儲存上傳的檔案
- Session["filelist"] += uploadPath + "|";//此方法是為了獲取檔案的實際地址並且記錄下來你可以呼叫此session,
- Response.Write("檔案: " + uploadPath + " 上傳成功!");//成功返回並顯示
好了大家只要下載我這個附件就可以去修改成你想要的效果了。注一定要在IIS下執行。不然上傳路徑會報錯的哦!(完畢)
(已經更新了IE8不能點選的BUG 2011-08-16 18:22)
(已經更新了報500錯誤的BUG 2015-08-28 10:22)
歡迎下載。