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

比起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.cssrel=”stylesheet” type=”text/css” />
        <link href=”css/uploadify.cssrel=”stylesheet” type=”text/css” />
        <script type=”text/javascriptsrc=”js/jquery-1.3.2.min.js”></script>
        <script type=”text/javascriptsrc=”js/swfobject.js”></script>
        <script type=”text/javascriptsrc=”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.jsuploadify.jsuploadify文件。。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数据检查比较严格,不允许最后一个“,”存在。其它浏览器不会报错,需要注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值