通常批量上传文件都是通过在网页上放置多个file控件实现,本控件也不例外,但是本控件有如下特点:
1、本控件专为同时上传多个图片而特制,在上传之前,可以预览到要上传的图片,并且可以对要上传的图片文件进行添加移除。
2、上传图片可以同时给图片添加水印。
3、除了对上传图片文件扩展名进行判断外,还对上传的图片格式进行MIME类型判断,从而确定上传的图片是不是真的图片,
这点对那些想上传假图片(更改文件扩展名为图片类扩展名)的用户有点用。
4、可以对上传的图片进行文件大小限制。
5、可以将上传的结果(图片的相对路径)通过事件传递给其它需要的程序。
技术亮点:本控件采用JS脚本方式动态添加File控件,注意啊,这个File控件是以runat="server"方式添加的啊,巧妙地将JS和.NET服务器控件结合起来,这样,这个上传控件就不必把它放到<form enctype="multipart/form-data"这种单独的页面中,而是直接就把它当做正常的控件,可以放到任何aspx的页面中了。
另外,本控件采用一个半透明的iframe,掩盖下层控件,这样使能上传画面干净利落。
使用方法:要使用本控件,你需要结合本站的“合并水印函数源代码 ”才能实现,首先把“合并水印函数”用单独的类工程项目编译出DLL,并把本控件加入到另一个网站工程项目中,再引用编译好的DLL,接下来还要做一点点修改:本控件里有这样一个函数:Pub.jsAlert(Page, "???");把这个用JS中的alert函数代替就OK了。如果你要做文件上传数量和类型限制,要修改两个地方:
一是JS脚本
if(!filename.match(/(.JPG|.JPEG|.GIF)$/)){
alert('必须为 *.jpg,*.jpeg,*.gif格式的文件!');//类型限制
var max =10;//文件个数限制
二是C#代码:_CanUploadFilePattern属性,两个地方要对应啊。
如有什么疑问欢迎提出。