asp.net neatUpload 支持大文件上传组件 |
1.在工具箱中添加Brettle.Web.NeatUpload.dll,可以看到工具箱中出现InputFile等控件 。 复制代码 代码如下: <body> <form id="form1" runat="server"> <div> <upload:InputFile id="AttachFile" runat="server"></upload:InputFile> <asp:Button ID="Upload" runat="server" Text="Upload" OnClientClick="ToggleVisibility(ProgressBar,on)" OnClick="Upload_Click"/> <div id="ProgressBar" style="display:none;"> <upload:progressbar id="pbProgressBar" runat="server" Inline="true" Width="500px" Height="100"> </upload:progressbar> </div> </div> </form> </body> 4.添加脚本代码ToggleVisiblity函数到页面上如下: 复制代码 代码如下: <script type="text/javascript" language="javascript"> function ToggleVisibility(id, type) { el = document.getElementById(id); if(el.style) { if(type == on) { el.style.display = block; } else { el.style.display = none; } } else { if(type == on) { el.display = block; } else { el.display = none; } } } </script> 5.给上传文件的按钮添加事件Upload_Click 复制代码 代码如下: protected void Upload_Click(object sender, EventArgs e) { string FileName = this.AttachFile.FileName;//获取上传文件的全路径 string ExtenName = System.IO.Path.GetExtension(FileName);//获取扩展名 string SaveFileName = System.IO.Path.Combine(Request.PhysicalApplicationPath, DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName);//合并两个路径为上传到服务器上的全路径 if (this.AttachFile.ContentLength > 0) { try { this.AttachFile.MoveTo(SaveFileName, Brettle.Web.NeatUpload.MoveToOptions.Overwrite); } catch (Exception ex) { throw ex; } } } 6.在配置文件web.config中添加http模块声明: 复制代码 代码如下: <httpModules> <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" /> </httpModules> 7.需要在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>加入 复制代码 代码如下: <neatUpload useHttpModule="false" maxNormalRequestLength="4096" maxRequestLength="2097151" defaultProvider="FilesystemUploadStorageProvider"> <providers> <add name="FilesystemUploadStorageProvider" type="Brettle.Web.NeatUpload.FilesystemUploadStorageProvider, Brettle.Web.NeatUpload" /> </providers> </neatUpload> 在<configuration>里面的后面位置加入 复制代码 代码如下: <location path="Default.aspx" > <system.web> <neatUpload useHttpModule="true" /> <httpRuntime maxRequestLength="2097151" executionTimeout="3600" useFullyQualifiedRedirectUrl="true" /> </system.web> </location> </configuration> 地址下载,里面有详细的使用文档 |