基于jQuery的Web上传插件Uploadify使用示例


Posted in Javascript onMay 19, 2016

Uploadify是一款功能强大,高度可定制的文件上传插件,实现的效果非常不错,带进度显示。在最简单的方式下,Uploadify使用很少的代码就可以运行起来。
Uploadify官方下载地址:http://www.uploadify.com/download/

测试例子
以下是一个使用的简单例子:
这里我们采用了Uploadify包中自带的php测试脚本作为上传的处理,所以这里安装了wamp作为php的测试环境,在php的网站根目录中,解压上面下载好的Uploadify文件,并创建一个文件上传保存的目录,这里我们在Uploadify的解压目录中创建到了uploads作为文件保存目录。

创建uploadify_test.php文件,添加如下内容:

<html>
<head>
  <link href="uploadify-v2.1.4/uploadify.css" rel="stylesheet" type="text/css" /> 
  <script type="text/javascript" src="uploadify-v2.1.4/jquery-1.4.2.min.js" ></script> 
  <script type="text/javascript" src="uploadify-v2.1.4/swfobject.js" ></script> 
  <script type="text/javascript" src="uploadify-v2.1.4/jquery.uploadify.v2.1.4.min.js" ></script> 

  <style type="text/css">
    #custom-demo .uploadifyQueueItem {
     background-color: #FFFFFF;
     border: none;
     border-bottom: 1px solid #E5E5E5;
     font: 11px Verdana, Geneva, sans-serif;
     height: 50px;
     margin-top: 0;
     padding: 10px;
     width: 350px;
    }
    #custom-demo .uploadifyError {
     background-color: #FDE5DD !important;
     border: none !important;
     border-bottom: 1px solid #FBCBBC !important;
    }
    #custom-demo .uploadifyQueueItem .cancel {
     float: right;
    }
    #custom-demo .uploadifyQueue .completed {
     color: #C5C5C5;
    }
    #custom-demo .uploadifyProgress {
     background-color: #E5E5E5;
     margin-top: 10px;
     width: 100%;
    }
    #custom-demo .uploadifyProgressBar {
     background-color: #0099FF;
     height: 3px;
     width: 1px;
    }
    #custom-demo #custom-queue {
     border: 1px solid #E5E5E5;
     height: 213px;
     margin-bottom: 10px;
     width: 370px;
    }        
  </style>  

  <script type="text/javascript">
    $(function() {
    $('#custom_file_upload').uploadify({
       'uploader'    : 'uploadify-v2.1.4/uploadify.swf',
       'script'     : 'uploadify-v2.1.4/uploadify.php',
       'cancelImg'   : 'uploadify-v2.1.4/cancel.png',
       'folder'     : 'uploadify-v2.1.4/uploads',
       'multi'     : true,
       'auto'      : true,
       'fileExt'    : '*.jpg;*.gif;*.png;*.txt',
       'fileDesc'    : 'Image Files (.JPG, .GIF, .PNG)',
       'queueID'    : 'custom-queue',
       'queueSizeLimit' : 3,
       'simUploadLimit' : 3,
       'sizeLimit'  : 1024000,
       'removeCompleted': false,
       'onSelectOnce'  : function(event,data) {
         $('#status-message').text(data.filesSelected + ' files have been added to the queue.');
        },
       'onAllComplete' : function(event,data) {
         $('#status-message').text(data.filesUploaded + ' files uploaded, ' + data.errors + ' errors.');
        }
      });        
    });
  </script>
</head>
<body>
  <div id="custom-demo" class="demo">

     <h2>Custom Demo</h2>
    <p>Uploadify is fully customizable. Here is an implementation with multiple files, auto uploads, limited file types, limited queue size, and custom onSelectOnce and onAllComplete functions.</p>
    <div class="demo-box">
      <div id="status-message">Select some files to upload:</div>

      <div id="custom-queue"></div>
      <input id="custom_file_upload" type="file" name="Filedata" />    
    </div>
  </div>
</body>
</html>

Uploadify插件提示$(“#id”).uploadify is not a function错误可能原因
swfobject.js和jquery.uploadify.v2.1.4.min.js由于使用到了jquery的API,所以这两个文件需要依赖于jquery-1.4.2.min.js这个文件。
正常情况下需要引入如下几个js文件:

<script type="text/javascript" src="uploadify-v2.1.4/jquery-1.4.2.min.js" ></script> 
<script type="text/javascript" src="uploadify-v2.1.4/swfobject.js" ></script> 
<script type="text/javascript" src="uploadify-v2.1.4/jquery.uploadify.v2.1.4.min.js" ></script>

而在项目中已经存在了另外一个jquery的JS文件,导致文件冲突。而另外的一个jQuery文件的引入位置位于上面三个js文件引入位置的后面,此时项目中使用的是原本已经存在的jquery的JS文件,导致在加载jquery.uploadify.v2.1.4.min.js文件时还没有可用的jquery相关函数的定义,才会报这个错误。

解决方法:
去掉其中一个jquery的JS文件,并把swfobject.js和jquery.uploadify.v2.1.4.min.js文件放到引入jquery的JS文件的位置的后面即可。

Javascript 相关文章推荐
javascript css在IE和Firefox中区别分析
Feb 18 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
May 10 Javascript
node.js中使用node-schedule实现定时任务实例
Jun 03 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
Aug 10 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
详解Vue 非父子组件通信方法(非Vuex)
May 24 Javascript
vue中的event bus非父子组件通信解析
Oct 27 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
May 19 #Javascript
当jquery ajax遇上401请求的解决方法
May 19 #Javascript
基于Echarts 3.19 制作常用的图形(非静态)
May 19 #Javascript
前端js文件合并的三种方式推荐
May 19 #Javascript
Node.js+Express配置入门教程
May 19 #Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
May 19 #Javascript
判断数组是否包含某个元素的js函数实现方法
May 19 #Javascript
You might like
php object转数组示例
2014/01/15 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
js里的prototype使用示例
2010/11/19 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
React Native中Navigator的使用方法示例
2017/10/13 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
python网络编程实例简析
2014/09/26 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
Python 私有函数的实例详解
2017/09/11 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python eval函数介绍及用法
2020/11/09 Python
大学毕业生通用自荐信范文
2013/10/31 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android