.NET使用swfupload实现图片批量上传

时间:2022-08-29 08:06:59

今天研究解决了使用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();  来获取