ASP.NET - 大文件上傳 NeatUpload 控件

因爲要做一個大文件上傳的功能,所以搜索了下。找到一個控件NeatUpload 而且這個空間是開源的 官網爲http://www.brettle.com/neatupload 於是到官網去下了控件。它裏面有demo的,倒騰了半天終於到騰出來了。哎。用別人的控件都用不來哈。傷心。
其實網上也有很多NeatUpload控件的使用例子。但是不知道爲什麼我按照他們的做法總是出錯。後來按照demo上面的代碼才倒騰出來。原本不看demo的原因就是它是英文的。哎。我討厭英文啊。。。
其實 用起來很簡單的 首先下載控件。然後添加對控件的引用。添加完畢之後我們可以在工具欄看到多了幾個控件了。我只用到ProgressBar和InputFile。然後就是託空間了。然後添加一個按鈕 text屬性設置爲 上傳。 雙擊寫上傳代碼。呵呵那我就把代碼貼上來。以防止我忘記怎麼用。哈哈
web.config配置文件裏面添加如下代碼:
 
<configuration>    

<configSections>        

<sectionGroup name="system.web">        

     <section name="neatUpload" type="Brettle.Web.NeatUpload.ConfigSectionHandler, Brettle.Web.NeatUpload" allowLocation="true" />        

</sectionGroup>    

</configSections>        

<system.web>    

<httpModules>    

<!--上傳大檔-->    

<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload"/>    

</httpModules>    

<!color="#008000">--useHttpModule="true" 要設true才能看到上傳狀態bar,預設是False-->    

<neatUpload useHttpModule="true" maxNormalRequestLength="1048576" maxRequestLength="1048576" defaultProvider="FilesystemUploadStorageProvider">    

<providers>    

<add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload"/>    

</providers>        

</neatUpload>        

<httpRuntime maxRequestLength="1048576" executionTimeout="3600"/>    

</system.web>

</configuration>

button click事件代碼 protected void submitButton_Click(object sender, EventArgs e)        {                

if (IsValid)         //這一句最重要我,害得我折騰了半天。。。。

     {                    

    //唯一檔名                

        string filename = Guid.NewGuid() + System.IO.Path.GetExtension(InputFile1.FileName);                        

//設定存檔路徑                    

    string filefullname = System.IO.Path.Combine(Request.PhysicalApplicationPath + "\\files", filename);                    

    //上傳檔案                    

    InputFile1.MoveTo(filefullname, Brettle.Web.NeatUpload.MoveToOptions.Overwrite);                            

//顯示訊息                    

     double size=Math.Round(InputFile1.ContentLength / 1024F,2);            

            Label1.Text = string.Format("來源:{0}({1}kb)<br>新檔名稱:{2}", InputFile1.FileName, size , filename);            

     }    

     }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章