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 相关文章推荐
分享别人写的一个小型js框架
Aug 13 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
javascript中callee与caller的用法和应用场景
Dec 08 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
Nov 28 Javascript
Node.js中调用mysql存储过程示例
Dec 20 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
Node.js用readline模块实现输入输出
Dec 16 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
vue组件间通信六种方式(总结篇)
May 15 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
Sep 09 Javascript
详解如何在Canvas中添加事件的方法
Apr 17 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中的事务使用实例
2015/05/26 PHP
thinkPHP查询方式小结
2016/01/09 PHP
全新Mac配置PHP开发环境教程
2016/02/03 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
javascript call方法使用说明
2010/01/11 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JavaScript实现三级联动菜单效果
2017/08/16 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
深入解析Python编程中super关键字的用法
2016/06/24 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
Python中的延迟绑定原理详解
2019/10/11 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
实习公司领导推荐函
2014/05/21 职场文书
股东大会通知
2015/04/24 职场文书
车辆挂靠协议书
2016/03/23 职场文书