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

前端技术 2023/09/02 JavaScript

比起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实现图片预览。

效果图:

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

实现:

json数据格式如下:

页面代码如下:

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

本文地址:https://www.stayed.cn/item/3593

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。