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 select(列表)的操作(取值/赋值)
Mar 16 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
可编辑下拉框的2种实现方式
Jun 13 Javascript
JavaScript中getUTCSeconds()方法的使用详解
Jun 11 Javascript
jQuery获取剪贴板内容的方法
Jun 16 Javascript
jQuery和JavaScript节点插入元素的方法对比
Nov 18 Javascript
Ajax基础知识详解
Feb 17 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
vue+eslint+vscode配置教程
Aug 09 Javascript
JS实现图片懒加载(lazyload)过程详解
Apr 02 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 Javascript
js实现带有动画的返回顶部
Aug 09 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
星际流派综述
2020/03/04 星际争霸
PHP初学入门
2006/11/19 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
JS实现类似51job上的地区选择效果示例
2016/11/17 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
parabola.js抛物线与加入购物车效果的示例代码
2017/10/25 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
Python实现简单截取中文字符串的方法
2015/06/15 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
如何处理简单的PHP错误
2015/10/14 面试题
Linux的主要特性
2016/09/03 面试题
中国入世承诺
2014/04/01 职场文书
2015年幼师工作总结
2015/04/28 职场文书
一个都不能少观后感
2015/06/04 职场文书
vue中div禁止点击事件的实现
2022/04/02 Vue.js
docker 制作mysql镜像并自动安装
2022/05/20 Servers