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


Posted in Javascript onSeptember 30, 2019

使用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数据检查比较严格,不允许最后一个“,”存在。其它浏览器不会报错,需要注意。

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

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

Javascript 相关文章推荐
jQuery获得内容和属性示例代码
Jan 16 Javascript
用js替换除数字与逗号以外的所有字符的代码
Jun 07 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
JavaScript中 ES6 generator数据类型详解
Aug 11 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
基于cookie实现zTree树刷新后展开状态不变
Feb 28 Javascript
详解微信小程序Radio选中样式切换
Jul 06 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
vue学习笔记之Vue中css动画原理简单示例
Feb 29 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 #Javascript
JavaScript中的null和undefined用法解析
Sep 30 #Javascript
vue resource发送请求的几种方式
Sep 30 #Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
Sep 30 #Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 #Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 30 #Javascript
浅探express路由和中间件的实现
Sep 30 #Javascript
You might like
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
浅析vue-router原理
2018/10/19 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
幼儿园新学期寄语
2014/01/18 职场文书
年终考核评语
2014/01/19 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
2014年防汛工作总结
2014/12/08 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android