文件上传

页面代码:

  1. <!--引入CSS-->
  2. <link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
  3. <!--引入JS-->
  4. <script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
  5. <!--SWF在初始化的时候指定,在后面将展示-->
  6. <div id="uploader" class="wu-example">
  7. <!--用来存放文件信息-->
  8. <div id="thelist" class="uploader-list"></div>
  9. <div class="btns">
  10. <div id="picker">选择文件</div>
  11. <button id="ctlBtn" class="btn btn-default">开始上传</button>
  12. </div>
  13. </div>

常用的js

  1. // 文件上传
  2. jQuery(function() {
  3. var $ = jQuery,
  4. $list = $('#thelist'),
  5. $btn = $('#ctlBtn'),
  6. state = 'pending',
  7. uploader;
  8.  
  9. uploader = WebUploader.create({
  10.  
  11. // 不压缩image
  12. resize: false,
  13.  
  14. // swf文件路径
  15. swf: BASE_URL + '/js/Uploader.swf',
  16.  
  17. // 文件接收服务端。
  18. server: 'http://webuploader.duapp.com/server/fileupload.php',
  19.  
  20. // 选择文件的按钮。可选。
  21. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  22. pick: '#picker'
  23. });
  24.  
  25. // 当有文件添加进来的时候
  26. uploader.on( 'fileQueued', function( file ) {
  27. $list.append( '<div id="' + file.id + '" class="item">' +
  28. '<h4 class="info">' + file.name + '</h4>' +
  29. '<p class="state">等待上传...</p>' +
  30. '</div>' );
  31. });
  32.  
  33. // 文件上传过程中创建进度条实时显示。
  34. uploader.on( 'uploadProgress', function( file, percentage ) {
  35. var $li = $( '#'+file.id ),
  36. $percent = $li.find('.progress .progress-bar');
  37.  
  38. // 避免重复创建
  39. if ( !$percent.length ) {
  40. $percent = $('<div class="progress progress-striped active">' +
  41. '<div class="progress-bar" role="progressbar" style="width: 0%">' +
  42. '</div>' +
  43. '</div>').appendTo( $li ).find('.progress-bar');
  44. }
  45.  
  46. $li.find('p.state').text('上传中');
  47.  
  48. $percent.css( 'width', percentage * 100 + '%' );
  49. });
  50.  
  51. uploader.on( 'uploadSuccess', function( file ) {
  52. $( '#'+file.id ).find('p.state').text('已上传');
  53. });
  54.  
  55. uploader.on( 'uploadError', function( file ) {
  56. $( '#'+file.id ).find('p.state').text('上传出错');
  57. });
  58.  
  59. uploader.on( 'uploadComplete', function( file ) {
  60. $( '#'+file.id ).find('.progress').fadeOut();
  61. });
  62.  
  63. uploader.on( 'all', function( type ) {
  64. if ( type === 'startUpload' ) {
  65. state = 'uploading';
  66. } else if ( type === 'stopUpload' ) {
  67. state = 'paused';
  68. } else if ( type === 'uploadFinished' ) {
  69. state = 'done';
  70. }
  71.  
  72. if ( state === 'uploading' ) {
  73. $btn.text('暂停上传');
  74. } else {
  75. $btn.text('开始上传');
  76. }
  77. });
  78.  
  79. $btn.on( 'click', function() {
  80. if ( state === 'uploading' ) {
  81. uploader.stop();
  82. } else {
  83. uploader.upload();
  84. }
  85. });
  86. });

 

图片上传

 页面部分:

  1. <!--引入CSS-->
  2. <link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">
  3. <!--引入JS当然还有jQuery 的包-->
  4. <script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>
  5. <!--SWF在初始化的时候指定,在后面将展示-->
  6.  
  7. <!--dom结构部分-->
  8. <div id="uploader-demo">
  9. <!--用来存放item-->
  10. <div id="fileList" class="uploader-list"></div>
  11. <div id="filePicker">选择图片</div>
  12. </div>

  

上传图片:

  1. // 图片上传demo
  2. jQuery(function() {
  3. var $ = jQuery,
  4. $list = $('#fileList'),
  5. // 优化retina, 在retina下这个值是2
  6. ratio = window.devicePixelRatio || 1,
  7.  
  8. // 缩略图大小
  9. thumbnailWidth = 100 * ratio,
  10. thumbnailHeight = 100 * ratio,
  11.  
  12. // Web Uploader实例
  13. uploader;
  14.  
  15. // 初始化Web Uploader
  16. uploader = WebUploader.create({
  17.  
  18. // 自动上传。
  19. auto: true,
  20.  
  21. // swf文件路径
  22. swf: BASE_URL + '/js/Uploader.swf',
  23.  
  24. // 文件接收服务端。
  25. server: 'http://webuploader.duapp.com/server/fileupload.php',
  26.  
  27. // 选择文件的按钮。可选。
  28. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  29. pick: '#filePicker',
  30.  
  31. // 只允许选择文件,可选。
  32. accept: {
  33. title: 'Images',
  34. extensions: 'gif,jpg,jpeg,bmp,png',
  35. mimeTypes: 'image/*'
  36. }
  37. });
  38.  
  39. // 当有文件添加进来的时候
  40. uploader.on( 'fileQueued', function( file ) {
  41. var $li = $(
  42. '<div id="' + file.id + '" class="file-item thumbnail">' +
  43. '<img>' +
  44. '<div class="info">' + file.name + '</div>' +
  45. '</div>'
  46. ),
  47. $img = $li.find('img');
  48.  
  49. $list.append( $li );
  50.  
  51. // 创建缩略图
  52. uploader.makeThumb( file, function( error, src ) {
  53. if ( error ) {
  54. $img.replaceWith('<span>不能预览</span>');
  55. return;
  56. }
  57.  
  58. $img.attr( 'src', src );
  59. }, thumbnailWidth, thumbnailHeight );
  60. });
  61.  
  62. // 文件上传过程中创建进度条实时显示。
  63. uploader.on( 'uploadProgress', function( file, percentage ) {
  64. var $li = $( '#'+file.id ),
  65. $percent = $li.find('.progress span');
  66.  
  67. // 避免重复创建
  68. if ( !$percent.length ) {
  69. $percent = $('<p class="progress"><span></span></p>')
  70. .appendTo( $li )
  71. .find('span');
  72. }
  73.  
  74. $percent.css( 'width', percentage * 100 + '%' );
  75. });
  76.  
  77. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  78. uploader.on( 'uploadSuccess', function( file ) {
  79. $( '#'+file.id ).addClass('upload-state-done');
  80. });
  81.  
  82. // 文件上传失败,现实上传出错。
  83. uploader.on( 'uploadError', function( file ) {
  84. var $li = $( '#'+file.id ),
  85. $error = $li.find('div.error');
  86.  
  87. // 避免重复创建
  88. if ( !$error.length ) {
  89. $error = $('<div class="error"></div>').appendTo( $li );
  90. }
  91.  
  92. $error.text('上传失败');
  93. });
  94.  
  95. // 完成上传完了,成功或者失败,先删除进度条。
  96. uploader.on( 'uploadComplete', function( file ) {
  97. $( '#'+file.id ).find('.progress').remove();
  98. });
  99. });

  

官方webupload上传多个文件或者图片的方法的更多相关文章

  1. ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)

    在写这篇的时候本来想把标题直接写成报错的提示,如下: “SecurityError:Blocked a frame with origin "http://localhost:55080&q ...

  2. ASP.NET 使用ajaxupload.js插件出现上传较大文件失败的解决方法

    在网上下载了一个ajaxupload.js插件,用于无刷新上传图片使的,然后就按照demo的例子去运行了一下,上传啊什么的都OK,但是正好上传的示例图片有一个比较大的,4M,5M的样子,然后上传就会报 ...

  3. 通过Fastdfs进行文件上传服务(文件和图片的统一处理)

    1.文件上传简单流程分析图: 2.Fastdfs介绍: Fastdfs由两个角色组成: Tracker(集群):调度(帮你找到有空闲的Storage) Storage(集群):文件存储(帮你保存文件或 ...

  4. spring mvc文件上传(单个文件上传|多个文件上传)

    单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包    1.所需jar包:                commons-fileupload-1.3.1.jar       ...

  5. 文件的上传(1)(表单上传和ajax文件异步上传)

    文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...

  6. ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件

    前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...

  7. 前端js webuploader上传(导入)excel文件

    项目开发中用到导入(上传)Excel文件 我使用的是百度的webuploader: 1:下载:http://fex.baidu.com/webuploader/(官方下载/示例) 2:使用Web Up ...

  8. 强大的支持多文件上传的jQuery文件上传插件Uploadify

    支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...

  9. SecureCRT上传和下载文件

    SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...

随机推荐

  1. lightoj 1074【spfa判负环】

    题意: 给你一幅图,dis(u->v)的权值就是(w[v]-w[u])*(w[v]-w[u])*(w[v]-w[u]),所以有可能是负的,给你n个询问,给出最短路,长度<3或者不可达输出& ...

  2. 求N!的长度【数学】

    转自:http://blog.csdn.net/fengdian29147001/article/details/11992755 给一个数X,len=log10(X)+1就是X这个数的长度 ①:当N ...

  3. 织梦cms 应急响应 修复建议

    通过分析log日志,可以知道攻击者的IP 攻击时间 和具体操作 本片文章为内网测试,通过分析日志,进行复现攻击流程,同时对网站的后门给予修复建议 通过分析日志可以知道,攻击者使用了扫描工具进行网站扫描 ...

  4. perl 操作文件指针

    之前使用perl 脚本写了一个读取文件的小工具,但是由于当时使用的Tie 的方式,在处理大文件时,效率并不十分理想,所以在网上搜索了perl 如何操作文件指针的文章,自己也学习一下,本博客就是学习过程 ...

  5. FMDB存储模型对象(以二进制存储)用NSKeyedArchiver archivedDataWithRootObject序列号,NSKeyedUnarchiver unarchiveObjectWithData反序列化(重点坑是sql语句@"insert into t_newsWithChannel (nwesName,newsType) values (?,?)")一定要用占位符

    交友:微信号 dwjluck2013 一.封装FMDB单例 (1)JLFMDBHelp.h文件 #import <Foundation/Foundation.h> #import < ...

  6. 捕获异常try-catch-finally

    异常分类 try-carch-finally出现规则 return关键字的使用 finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值 pa ...

  7. 爬虫的UA池和代理池

    爬虫的UA池和代理池   一.下载中间件 先祭出框架图: 下载中间件(Downloader Middlewares) 位于scrapy引擎和下载器之间的一层组件. - 作用: (1)引擎将请求传递给下 ...

  8. python虚拟环境四

    python虚拟环境管理器 我们在使用python虚拟环境的时候,最好安装一个虚拟环境管理器,这样我们就能很方便的管理python的 虚拟环境,而python的虚拟环境管理工具包就是virtualen ...

  9. 解决windows下 Python中 matplotlib 做图中文不显示的问题

    在代码中填入以下两句即可 from pylab import mpl mpl.rcParams['font.sans-serif'] = [font_name] 如:mpl.rcParams['fon ...

  10. c#学习系列之字段(静态,常量,只读)

    C#静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量.static变量在对象被实例化时创建,通过对象进行访问一个类的所 ...