neatupload 一个免费的asp.net文件上传组件 项目地址 http://neatupload.codeplex.com/
首先,从项目网站下载最新版(目前使用的是1.3.26)
在VS2010中,添加上传控件,在VS工具箱中点右键选“选择项”…… 将Brettle.Web.NeatUpload.dll添加到工具箱。可以在添加后的工具箱看到相应控件。
然后新建一个WEB项目,修改WEB.CONFIG,需要在<system.web>节增加完全信任项
<fullTrustAssemblies>
<add assemblyName="Brettle.Web.NeatUpload"
version="four-part version number of NeatUpload-version/dotnet/app/Brettle.Web.NeatUpload.dll"
publicKey="0024000004800000940000000602000000240000525341310004000011000000896e11d9e95d592ab2607e9
dfb01025ae38dbf2d6e9cd96a39209ee36bddc0a2bfbd0823676654b156e999d04fb761eae1f0f18758bdf7
f81ae56fca8f8a81f88e95d6ac9237f68843bb23ae2ed2a3ffeac20f69b50e0340ba9366ae1ad0fb8b9cfb2
039996eeff4c14bd1eab601bf138a6dd2dfdfb4b84acace6fe21eb388ba" />
</fullTrustAssemblies>
新建一个WEB页,命名为upload.aspx
拖一个InputFile控件和一个按钮控件,实现简单的上传功能
InputFile控件ID设为“AttachFile" , 按钮控件文本设置为“上传”,其事件为
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 UploadFilePath = Request.PhysicalApplicationPath+"/UploadFiles";
//此处指定上传路径
string SaveFileName = System.IO.Path.Combine(UploadFilePath, DateTime.Now.ToString("yyyyMMddhhmm") + ExtenName);//合并两个路径为上传到服务器上的全路径
完成以上步骤后,即可实现简单文件上传。
说明:
1 需要设置临时文件目录,默认是App_Data/NeatUpload_Temp。
2 默认上传文件大小限制为4M,可修改。
待完善功能:
1 进度条显示上传进度。
2 实现多文件上传。
3 提取文件名,保存至数据库,便于实现文件管理。
4 实现指定或限定文件上传功能。检查文件类型,确保上传文件的安全。