uploadify插件实现多个图片上传并预览

使用uploadify插件可方便实现图片上传功能。兼容ie6、ie7。

上传成功之后使用插件的回调函数读取json数据,根据url实现图片预览。

效果图:

uploadify插件实现多个图片上传并预览

点击浏览文件上传图片,图片依次在右侧显示预览效果。

实现:

json数据格式如下:

uploadify插件实现多个图片上传并预览

页面代码如下:

注:需要引用jQuery.js、uploadify.js、uploadify文件。。uploadify文件下载地址

<html>
<head>
<script type=\"text/javascript\" src=\"static/js/jquery.js\">\"></script>
<script type=\"text/javascript\" src=\"static/js/jquery.select.js\">\"></script>
</head>
<body>

<div class=\"file-box\"> 
  <div id=\"divPreview\">
   <span style=\"float:left\">(最多可上传五张图片)</span>
  </div>
  <input type=\"file\" name=\"file\" class=\"file\" id=\"fileField\" /> 
  <input type=\"hidden\" name=\"hash\" id=\"hash\" value=\"xoxo\"/> 

</div> 
<script>
$(function() {
 $(\"#fileField\").uploadify({
  \'height\'  : 30,
  \'swf\'  : \'<?php echoYii::app()->request->baseUrl ?>/static/uploadify/uploadify.swf?var=\'+(newDate()).getTime(),
  \'uploader\'  :\'index.php?r=upload/uploadimage\',
  \'width\'   : 120,
  \'onUploadSuccess\' : function(file, data, response) {

   var info = eval(\"(\"+data+\")\");
   if(info.err==1){alert(info.msg);} //如果图片过大或者格式错误弹出错误信息
   else{
   $(\"#divPreview\").append($(\"<img src=\'\" + info.img + \"\'/>\"));
   $(\"#divPreview\").append($(\"<input type=\'hidden\' name=\'imgId[]\' value=\'\" + info.imgId + \"\'/>\"));
   }
  },
  \'buttonText\' : \'浏览文件\',
  \'uploadLimit\' : 5, //上传最多图片张数
  \'removeTimeout\' : 1,
  \'preventCaching\': true, //不允许缓存
  \'fileSizeLimit\' : 4100, //文件最大

  \'formData\'  : { \'<?php echosession_name();?>\' : \'<?php echosession_id();?>\',\'hash\':$(\"#hash\").val() } //hash

 });

 $(\"#SWFUpload_0\").css({ //设置按钮样式,根据插件文档进行修改

  \'position\' :\'absolute\',
  \'top\': 20,
  \'left\': 35,
  \'z-index\' : 1

  });

});

</script>
</body>
</html>

曾遇到问题:

ie、360浏览器中对json数据检查比较严格,不允许最后一个“,”存在。其它浏览器不会报错,需要注意。

阅读插件文档能力有待提高

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容