首页 > 其他分享 >Web Uploader学习及使用

Web Uploader学习及使用

时间:2022-11-02 10:33:06浏览次数:83  
标签:function Web console Uploader 文件 学习 uploader file 上传

 前言

Web Uploader百度插件的使用:Web Uploader是一个高效的文件上传组件,网址链接为:[Web Uploader百度插件(http://fex.baidu.com/webuploader/)

一、具体使用

1.引入库

使用Web Uploader文件上传需要引入三种资源:JS, CSS, SWF。
 

编辑


 

2.前端代码

编辑

 

3.初始化

从前端代码可以看出上传文件为一个span文本,Web Uploader将其初始化成为
一个可以上传文件的按钮

   //webload
       $('#upload-container').click(function(event) {
           $("#picker").find('input').click();
       });

   var uploader = WebUploader.create({
       auto: true,// 选完文件后,是否自动FF上传。
       swf: 'assets/global/plugins/webuploader/Uploader.swf',// swf文件路径
       server: 'rest/excel/importCostExcelImport',// 文件接收服务端。
       dnd: '#upload-container',
       pick: '#picker',// 内部根据当前运行是创建,可能是input元素,也可能是flash. 这里是div的id
       // multiple: false, // 选择多个
       // chunked: false,// 开起分片上传。
       // threads: 1, // 上传并发数。允许同时最大上传进程数。
       method: 'POST', // 文件上传方式,POST或者GET。
       fileSizeLimit: 1024*1024*100*100, //验证文件总大小是否超出限制, 超出则不允许加入队列。
       fileSingleSizeLimit: 1024*1024*100, //验证单个文件大小是否超出限制, 超出则不允许加入队列。
       fileVal:'file', // [默认值:'file'] 设置文件上传域的name,后端接收
       duplicate :true,//允许重复上传
       formData:{
       },
   });
 

4.接收后端响应的数据

与后端的联动具体实现:
后端数组用来保存响应后上传的数据

编辑

Map中保存数据:

编辑

前端调用:
 

编辑

二、其他辅助功能

1.添加文件到队列时

uploader.on( 'fileQueued', function( file ) {
   // 选中文件时要做的事情,比如在页面中显示选中的文件并添加到文件列表,获取文件的大小,文件类型等
   console.log(file.ext) // 获取文件的后缀
   console.log(file.size) // 获取文件的大小
   console.log(file);
});
 

2.文件上传过程中添加进度显示

uploader.on( 'uploadProgress', function( file, percentage ) {
   console.log(percentage * 100 + '%');
});
 

3.文件上传成功或失败时触发

uploader.on( 'uploadSuccess', function( file,response ) {
   console.log(file.id+"传输成功");
});

uploader.on( 'uploadError', function( file ) {
    console.log(file);
    console.log(file.id+'upload error')
});
 

4.取消上传或者重新上传

$('.upload-list').on('click', '.btn-remove', function(){
   // 从文件队列中删除某个文件id
   file_id = $(this).data('id');
   uploader.removeFile(file_id, true); // 从队列中删除
   // console.log(uploader.getFiles()) // 队列显示还在  其实已经删除
});


$('.upload-list').on('click', '.upload-item__progress span', function(){
   uploader.retry($(this).data('file'));
});
 

5.上传完成

uploader.on( 'uploadComplete', function( file ) {
   console.log(uploader.getFiles());
});
 

6.刷新容器(解决文件上传按钮失效问题)

有时需要根据需求进行文件上传按钮的隐藏和显示,
当文件按钮隐藏再显示后会出现功能失效的问题,此时可以通过刷新容器来实现

   $(function () {
       $("#picker").hide();
       $('#forecastSelect4').change(function(){
           $("#picker").show();
           uploader.refresh();//刷新容器 解决隐藏后失效问题
       });
   });

 

最后效果:

编辑

  示例下载:

  asp.net:https://gitee.com/xproer/asp-net/tree/6.5.38/

 jsp-eclipse:https://gitee.com/xproer/jsp-eclipse/tree/6.5.38/

 jsp-myeclipse:https://gitee.com/xproer/jsp-myeclipse/tree/6.5.38/

 jsp-springboot:https://gitee.com/xproer/jsp-springboot/tree/6.5.38/

 php:https://gitee.com/xproer/php/tree/6.5.38/

 vue-cli:https://gitee.com/xproer/vue-cli

 详细配置信息及思路


标签:function,Web,console,Uploader,文件,学习,uploader,file,上传
From: https://www.cnblogs.com/zyzzz/p/16850229.html

相关文章

  • 机器学习系列——2、决策树
    决策树(decisiontree)是一种基本的分类与回归方法。决策树模型呈树形结构,在分类过程中,表示基于特诊对实例进行分类的过程。它可以认为是if-then规则的集合,也可以认为是定义......
  • 你需要知道的webpack高频面试题
    谈谈你对webpack的看法webpack是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML,CSS,JavaScr......
  • 一文彻底读懂webpack常用配置
    开发环境constwebpack=require("webpack");constpath=require('path')module.exports={//entry:{//a:'./src/0706/a.js',//c:'./......
  • webpack高级配置
    摇树(treeshaking)我主要是想说摇树失败的原因(treeshaking失败的原因),先讲下摇树本身效果什么是摇树?举个例子首先webpack.config.js配置constwebpack=require("we......
  • dart 学习笔记
    1.dart下载安装,vscode安装dart,coderunner等2.dart语法1)需要入口函数main,或者void(没有返回值)main2)定义变量varstr=‘kkk’Stringstr=‘kkkk’永远不改变的常量......
  • 深度学习基础课:全连接层的前向和后向传播推导(下)
    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放1加QQ群,获......
  • ajax的请求,异步,同源策略的学习
    AjaxAjax即“AsynchronousJavascriptAndXML”(异步JavaScript和XML),是指⼀种创建交互式⽹⻚应⽤的⽹⻚开发技术。Ajax是⼀种⽤于创建快速动态⽹⻚的技术。Ajax是......
  • Java学习——11.01
     隔了两天啊,本来想一天一写的,但昨天的课太多再加上Java环境的搭建太麻烦了,所以就隔了一天。不过昨天也不是什么都没做,已经熟记前面的的DOS命令,在控制台创建文件自如。真......
  • 网络安全学习
      C++借助指针突破访问权限的限制,访问private、protected属性的成员变量(花拳绣腿)C++借助指针突破访问权限的限制,访问private、protected属性的成员变量(花拳绣腿)-......
  • Jquery学习
    <!DOCTYPEhtml><htmllang="en"><head> <metacharset="UTF-8"> <title>BootStrapemmetjquery学习</title> <linkrel="stylesheet"href="/static/css/bootstrap.css">......