uploadify 上传图片附件问题

       在项目中遇到了上传多张图片问题,还需要时时上传后展示图片,就用uploadify做了这个功能,供大家参考借鉴。




$('#file_upload').uploadify({

              buttonText : '上传图片',
              auto : true,//自动上传
              progressData : 'speed',//上传速度
              multi : true,//true  上传多个文件
              height : 25, //设置浏览按钮的高度 ,默认值
              width:60, //设置浏览按钮的高度 ,默认值
              fileTypeDesc : '文件格式:',
              method:'POST',
              queueID : 'fileQueue',
              fileTypeExts : '*.jpg;*.png',
              fileSizeLimit : '15MB',
              queueSizeLimit : '4',
              swf : 'plug-in/uploadify/uploadify.swf',
              uploader : 'bridgeSpecialexamineDiseasesController.do',
              overrideEvents : [ 'onDialogClose', 'onUploadError', 'onSelectError' ] ,//重写   onDialogClose默认的错误提示信息就不会出现
              onUploadStart : function(file) {
                 //在onUploadStart事件中,也就是上传之前,把参数写好传递到后台
                  $('#file_upload').uploadify("settings",
                      "formData", {
                           'upload' : 'upload',   //方法或者参数
                          'sessionId':'${pageContext.session.id}',
                      });
                  
              },
              onQueueComplete : function(queueData) {
                
              },
              onUploadSuccess : function(file, data, response) {
                  var d = $.parseJSON(data);
                  if (d.success) {
                     ids +=ids==""?d.id:","+d.id;
                     $('#pictureids').textbox('setValue',ids);
                     var html = "<li> "
                                +"<div style='position: relative;' id='dfs'>"
                                +"   <img src="+d.url+" name='pictureUrl' width='100px' height='120px' class='myimg'/> <br/> <center> <h3> "+d.name +"</h3>  </center> "
                                +"   <div class='del ui-icon-closethick ui-icon'  ><input type='hidden' name='imgid' value='"+d.id+"'>删除</div>"
                                +"</div>"
                                +" </li>";  
                     $("#pics").append(html);
                  }
              },
              onFallback : function() {
                  alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试")
              },
                //上传失败  //附件格式不正确,请上传JPG、BMP、PNG格式文件,大小不超过3MB
                onUploadError : function(file, errorCode, errorMsg, errorString) {
                    // 手工取消不弹出提示
                    if (errorCode == SWFUpload.UPLOAD_ERROR.FILE_CANCELLED
                            || errorCode == SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED) {
                        return;
                    }
                    var msgText = "上传失败\n";
                    switch (errorCode) {
                        case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
                            msgText += "HTTP 错误\n" + errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:
                            msgText += "上传文件丢失,请重新上传";
                            break;
                        case SWFUpload.UPLOAD_ERROR.IO_ERROR:
                            msgText += "IO错误";
                            break;
                        case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
                            msgText += "安全性错误\n" + errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
                            msgText += "每次最多上传 " + this.settings.uploadLimit + "个";
                            break;
                        case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
                            msgText += errorMsg;
                            break;
                        case SWFUpload.UPLOAD_ERROR.SPECIFIED_FILE_ID_NOT_FOUND:
                            msgText += "找不到指定文件,请重新操作";
                            break;
                        case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
                            msgText += "参数错误";
                            break;
                        default:
                            msgText += "文件:" + file.name + "\n错误码:" + errorCode + "\n"
                                    + errorMsg + "\n" + errorString;
                    }
                    alert(msgText);
                },
              onSelectError :  function(file, errorCode, errorMsg) {
                    var msgText = "上传失败\n";
                    switch (errorCode) {
                        case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:
                            //this.queueData.errorMsg = "每次最多上传 " + this.settings.queueSizeLimit + "个文件";
                            msgText += "每次最多上传 " + this.settings.queueSizeLimit + "个文件";
                            break;
                        case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
                            msgText += "文件大小超过限制( " + this.settings.fileSizeLimit + " )";
                            break;
                        case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
                            msgText += "文件大小为0";
                            break;
                        case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
                            msgText += "文件格式不正确,仅限 " + this.settings.fileTypeExts;
                            break;
                        default:
                            msgText += "错误代码:" + errorCode + "\n" + errorMsg;
                    }
                    alert(msgText);
                },
                onUploadProgress : function(file, bytesUploaded,
                      bytesTotal, totalBytesUploaded,
                      totalBytesTotal) {
               }

         });

    注意:(本篇文章可以转载)图片返回值自己可以在后台做处理,返回json格式。根据自己的需求来改写,如果本篇文章有什么错误或其它的请大家提出来。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值