Brettle.Web.NeatUpload.dll,可以看到工具箱中出现InputFile等控件
1.在工具箱中添加Brettle.Web.NeatUpload.dll,可以看到工具箱中出现InputFile等控件。 2.复制文件夹NeatUpload到根目录. 3.拖放使用上传控件InputFile和进度条ProgressBar,添加上传文件的按钮.aspx页面代码如下:
<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> 地址下载,里面有详细的使用文档 |