今天研究解决了使用swfupload实现图片批量上传的功能~~
不废话,自然是有一个上传页(default.aspx),一个处理页(upload.aspx),页面
Default.aspx
其中,关键要设置的地方,就是下面这块
SWFUpload.onload = function () {
var settings = {
flash_url : "../Control/SwfUpload/swfupload.swf", //要调用的flash地址
upload_url: "./upload.aspx", //处理程序的地址
post_params: {
"albumID" : "<%=this.dllAlbumType.SelectedValue%>" //要同步传送给upload.aspx的参数,这里我传了一个相册ID
},
file_size_limit : "2MB", //单个文件的最大限制
file_types : "*.jpg;*.jpeg;*.gif", //允许上传的文件类型
file_types_description : "*.jpg;*.jpeg;*.gif", //允许上传的文件类型描述,用于default.aspx页面展示用
file_upload_limit : 100, //每次最多可以上传的文件个数
file_queue_limit : 0,
custom_settings : {
progressTarget : "fsUploadProgress",
cancelButtonId : "btnCancel",
uploadButtonId : "btnUpload",
myFileListTarget : "idFileList"
},
debug: false,
auto_upload:false,
upload.aspx
1、使用 Request["albumID"] 来获取上面设置的相册ID
2、HttpPostedFile photo = Request.Files["Filedata"]; 使用这句就可以获取到传过来的图片对象
代码就不多写了,跟用input上传一样处理,只是其中有一点,需要注意,使用swfupload是无法通过 photo.ContentType.ToString().ToLower(); 这样来获取到文件类型的,这里我使用photo.FileName.Substring(photo.FileName.LastIndexOf(".")).ToLower(); 来获取