ASP.NET上传控件
1.支持大文件上传,无刷新即时进度显示 2.可设置上传文件自动压缩或自动解压缩 3.图片上传可自定义压缩、缩略、水印 4.上传文件格式、大小自定义设置 5.文件自动保存及自动数据处理并提供相关接口 6.支持验证控件 7.用户可自定义控件样式 8.压缩操作可附加文件,与压缩附加信息,及设置压缩密码
注意:此控件的任何问题请到我的BLOG留言,工作太忙,QQ不能回复,况您的问题可能已有答案!
1.Web.Config的设置
本控件使用到httpModule所以要在Web.Config的增加控件的httpModule
<httpModules> <add name="UploadModule" type="eWebapp.Upload.UploadModule, eWebapp.Upload" /> </httpModules>
如果上传大文件还要注意修改Web.config的上传大小限制与超时时间限制
<httpRuntime maxRequestLength="1000000" executionTimeout="1000" />
2.控件的引用
方法1:使用VS直接在工具栏中增加该控件,然后进行拖放设计。
方法2:将eWebapp.Upload.dll拷贝到Bin目录。
3.控件的使用
本控件包含ShowUpload与Upload两个控件。
[ShowUpload控件]为显示上传进度的控件
如果您只想显示上传进度,您可以在页面中引用ShowUpload控件, 请不要修改该控件的GUID值,因为该值是上传进度的唯一标识,如果固定,那么多用户同时上传时将会出现错误 ,然后布置1到N个的HtmlUpFile控件,这里要注意的HtmlUpFile控件必须加Runat="Server" ,您可以为该控件SubmitID指定上传Button的ID,以明确哪个Button将提交文件 ,也可以默认使用第一个Button上传文件并显示进度,关于些控件的显示样式您也可以自行设置,也可以使用默认。
[Upload控件]为上传控件
在beta2中使用选择性自动保存功能,如果AutoSave设置为False,用户只要调用该控件的Save方法对上传文件进行处理并保存, 在Upload中内置了ShowUpload控件,您可以在控件的"进度条"设置中设置内置进度条的设置, 这里说明一下文件处理的有关注意点: 第一个选择点是上传类型"Uptype"设置 ,选择Image可以进行以下处理, 图片压缩,图片缩略,图片水印, 选择File下可以进行以下处理, 文件压缩(zip),文件解压(unzip),与普通上传(Normal),注意压缩功能目前仅支持Zip算法,更多设置与处理说明请访问我的Blog。
小技巧
1.使用Upload控件实现多文件上传并显示进度, 只需要第一个Upload控件的ShowUpload设置为true,其它Upload控件ShowUpload设置为false即可 , 每个文件的保存路径将由控件的Fullpath获取 。
2.只保存缩略图,设置Uptype为Image将OnlySmall设为True 保存路径由Fullpath直接返回。
3.做个压缩上传自动解压功能让多文件一次上传, 设置Uptype为File,SaveType为Unzip , 再指定upZipDir为解压路径 。
4.打个水印 , 设置Uptype为Image将Waterprint设置为服务器上的水印图片地址(留空不打水印) 。
5.将文件保存到指定位置 , 默认情况下系统用以"上传文件夹\年\月\日\GUID\文件名"的形式存放文档 , 如果您想把文件保存到eUpload\文件名可以如下设置, Topath设置为eUpload , GUID留空 , UserTimeSave设置为False, FileName建议别设置,默认即为值为文件的文件名 , 如果设置StrongSave为True,上传会强行覆盖相同文件名的文件, 如果设置StrongSave为False,保存自动加文件的(?)标识 , 即如果已存在eWebapp.Txt文件,上传同名文件会保存到eWebapp(1).Txt,依次类推。
上传完成后FileName返回是实际保存的文件, Fullpath为相对于根目录的全路径。