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 >
< 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 >
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;
}
}
}
{
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 useFullyQualifiedRedirectUrl="true"
>
< add name ="UploadHttpModule" type ="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
</ 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 >
< 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 >
< 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 >
< system .web >
< neatUpload useHttpModule ="true" />
< httpRuntime maxRequestLength ="2097151" executionTimeout ="3600" useFullyQualifiedRedirectUrl ="true" />
</ system.web >
</ location >
</ configuration >
最后这里是上面需要的文件和dll文件的源代码以及怎样用的例子
.Net 技术探讨群 4151320
欢迎大家加入!!!
分类:
C# Asp.net
本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2008/09/20/1294698.html,如需转载请自行联系原作者