uploadify多文件上传参数设置技巧


Posted in Javascript onNovember 16, 2015

比起swfupload,uploadify插件配置使用都更简单,只是刚加载的时候稍微慢了一秒左右.

废话不多说了,直接给大家贴代码了。

<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>php jquery uploadify多文件上传</title>
<link href=”css/default.css” rel=”stylesheet” type=”text/css” />
<link href=”css/uploadify.css” rel=”stylesheet” type=”text/css” />
<script type=”text/javascript” src=”js/jquery-1.3.2.min.js”></script>
<script type=”text/javascript” src=”js/swfobject.js”></script>
<script type=”text/javascript” src=”js/jquery.uploadify.v2.1.0.min.js”></script>
<script type=”text/javascript”>
$(document).ready(function() {
$(“#fileInput2″).uploadify({
‘uploader': ‘js/uploadify.swf',//所需要的flash文件
‘cancelImg': ‘cancel.png',//单个取消上传的图片
'script': ‘js/uploadify.php',//实现上传的程序
‘folder': ‘uploads',//服务端的上传目录
//'auto': true,//自动上传
‘multi': true,//是否多文件上传
//'checkScript': ‘js/check.php',//验证 ,服务端的
‘displayData': 'speed',//进度条的显示方式
//'fileDesc': ‘Image(*.jpg;*.gif;*.png)',//对话框的文件类型描述
//'fileExt': ‘*.jpg;*.jpeg;*.gif;*.png',//可上传的文件类型
//'sizeLimit': 999999 ,//限制上传文件的大小
//'simUploadLimit' :3, //并发上传数据
//'queueSizeLimit' :5, //可上传的文件个数
//'buttonText' :'文件上传',//通过文字替换钮扣上的文字
‘buttonImg': ‘css/images/browseBtn.png',//替换上传钮扣
‘width': 80,//buttonImg的大小
‘height': 24,//
‘rollover': true,//button是否变换
onComplete: function (evt, queueID, fileObj, response, data) {
//alert(“Successfully uploaded: “+fileObj.filePath);
//alert(response);
getResult(response);//获得上传的文件路径
}
//onError: function(errorObj) {
// alert(errorObj.info+” “+errorObj.type);
//}
});
});
</script>
<script type=”text/javascript”>
function getResult(content){
//通过上传的图片来动态生成text来保存路径
var board = document.getElementById(“divTxt”);
board.style.display=””;
var newInput = document.createElement(“input”);
newInput.type = “text”;
newInput.size = “45″;
newInput.name=”myFilePath[]“;
var obj = board.appendChild(newInput);
var br= document.createElement(“br”);
board.appendChild(br);
obj.value=content;
}
</script>
</head>
<body>
<fieldset style=”border: 1px solid #CDCDCD; padding: 8px; padding-bottom:0px; margin: 8px 0″>
<legend> <strong> 多文件上传</strong></legend>
<div>
<input id=”fileInput2″ name=”fileInput2″ type=”file” />
<input type=”button” value=”确定上传” onclick=”javascript:$(‘#fileInput2′).uploadifyUpload();”>  
||  <a href=”javascript:$(‘#fileInput2′).uploadifyClearQueue();”>清除上传列表</a></div>
<p></p>
</fieldset>
<FORM name=”form2″ METHOD=POST ACTION=”db.php”>
 <div id=”divTxt” style=”display:none”><span style=”color:red”><strong>已经上传的图片有:</strong></span& gt;<br></div><br>
<INPUT TYPE=”submit” value=”提 交”>
</FORM>
</body>
</html>

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

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

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

效果图:

uploadify多文件上传参数设置技巧

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

实现:

json数据格式如下:

uploadify多文件上传参数设置技巧

页面代码如下:

注:需要引用jQuery.js、uploadify.js、uploadify文件。。uploadify文件下载地址:http://www.uploadify.com/download/

<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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
jQuery解析json数据实例分析
Nov 24 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
Angular2学习笔记——详解路由器模型(Router)
Dec 02 Javascript
JS实现的计数排序与基数排序算法示例
Dec 04 Javascript
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 #Javascript
跟我学习javascript的全局变量
Nov 16 #Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 #Javascript
跟我学习javascript的基本类型和引用类型
Nov 16 #Javascript
简单实现限制uploadify上传个数
Nov 16 #Javascript
跟我学习javascript的隐式强制转换
Nov 16 #Javascript
跟我学习javascript的浮点数精度
Nov 16 #Javascript
You might like
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
node.js的事件机制
2017/02/08 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
Python中for循环详解
2014/01/17 Python
python实现的简单文本类游戏实例
2015/04/28 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
客户经理岗位职责
2013/12/08 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
机电专业求职信
2014/06/14 职场文书
白银帝国观后感
2015/06/17 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
导游词之云南-元阳梯田
2019/10/08 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL