插件描述:这是一款流畅的H5文件上传插件,覆盖几乎所有的使用场景,支持上传前预览,多(单)文件上传自定义,支持实时进度条等,你可以按照你想要的方式自定义

更新时间:2021-05-30 16:15:41

更新说明:

1. 新增loading动画

2. fixed fileid问题

3. 更新配置参数

以下为默认参数,配置后将覆盖var defaultConfigs = {

easyId: '', //插件插入节点的Id,String类型

accept: '.jpg,.png,.pdf', //允许文件类型后缀名,逗号分隔,String类型

action: '', //上传文件地址,String类型     btnText: {  //按钮展示文字

select: '选择文件',

upload: '上传',: '删除',

cancel: '终止'

},

maxCount: 3, //插件单次添加文件的最大数量,Number类型

maxSize: 3, //允许上传文件的最大体积,单位M,Number类型

multiple: true, //是否开启多文件上传,Boolean类型

messageTime: 2000, //messageBox消息提示毫秒数,Number类型

responseType: 'text', //xhr的responseType格式,String类型

showSize: true, //是否展示文件体积,Boolean类型

showLoading: false, //是否展示上传loading动画,Boolean类型

statusText: {

//不同状态展示的提示文字,key为对应文件状态(不可修改),value为展示文字

0: '允许上传', //文件大小验证合格后的初始状态

1: '即将上传', //等待上传队列执行到自己时的状态

2: '0%', //上传时刚发出xhr还没响应时的状态

3: '上传成功', //xhr响应&上传成功时的状态

4: '上传失败', //xhr响应&上传失败时的状态

5: '体积超出', //检测文件大小超出限定值时的状态

}, statusTextColor: {

//不同状态'提示文字'标签的className,key为对应文件状态(不可修改),value为标签的className

0: 'normalcolor', //正常状态字体色的className

1: 'normalcolor', //正常状态字体色的className

2: 'normalcolor', //正常状态字体色的className

3: 'normalcolor', //正常状态字体色的className

4: 'failedcolor', //失败状态字体色的className

5: 'warncolor', //警告状态字体色的className

}, statusBg: {

//不同状态对应标签的className,key为对应文件状态(不可修改),

value为标签的className

0: 'normalbg', //正常状态背景色的className

1: 'normalbg', //正常状态背景色的className

2: 'normalbg', //正常状态背景色的className

3: 'normalbg', //正常状态背景色的className

4: 'failedbg', //失败状态背景色的className

5: 'warnbg', //警告状态背景色的className

}, timeout: 0, //请求超时毫秒数,0表示永久,Number类型

withCredentials: true, //是否允许请求头自带cookie等证书,Boolean类型

setRequestHeader: null, //配置xhr请求头的方法

buildSendData: null, //配置xhr发送数据格式的方法,返回data

checkSuccessCode: null //检查成功状态码的方法,返回布尔值

};

更新时间:2021-05-19 02:19:10

更新说明:

1. 从底层开始重构,不再依赖其他类库;

2. 支持自由设置请求头

3. 支持自由设置发送数据格式如 FormData 或 base64

4. 支持自由配置请求成功状态码

5. css和结构分离,可以随意定制样式;

6. 支持多实例上传

7. 其他小惊喜...

更新时间:2019/4/29 上午10:54:46

更新说明:更新到版本V2.0.4,修复了校验文件大小问题

更新时间:2019/4/13 下午7:27:36

更新说明:更新到版本v2.0.2,修改了contentType默认配置

更新时间:2019/3/17 上午10:51:54

更新说明:升级到版本V2.0.2,修复取消上传后无法重新上传的问题

更新时间:2019/3/14 下午3:31:00

更新说明:easyUpload.jsV2.0以后升级更名为easyUploader.js

easyUploader一款简单易用H5上传插件,主要面向小文件,支持多文件上传,批量上传,以及混合上传# 支持- 文件类型可配置- 文件数量可配置- 文件允许大小可配置- 批量上传- 上传前预览- 实时进度条- base64上传- formData上传- 附带样式表可自行修改样式

使用说明页面head内引入插件样式文件mian.css

srcipt标签引入easyUploader.js或easyUploader.jq.js   -  easyUploader.jq.js相比easyUploader.js的区别是内置了一个jq库,项目内如已引用jq库,可选择没有内置jq的easyUploader.js

使用示例html>

easyUploader示例

html * { margin: 0;padding: 0; }

var uploader = easyUploader({

id: "uploader",

accept: '.jpg,.png',

action: 'https://jsonplaceholder.typicode.com/posts/',

dataFormat: 'formData',

maxCount: 10,

maxSize: 3,

multiple: true,

data: null,

beforeUpload: function(file, data, args) {

data.append('token', '387126b0-7b3e-4a2a-86ad-ae5c5edd0ae6TT'); //上传方式为formData时

// data.id = file.id; //上传方式为base64时

},

onChange: function(fileList) {

/* input选中时触发 */

},

onRemove: function(removedFiles, files) {

console.log('onRemove', deletedFiles);

},

onSuccess: function(res) {

console.log('onSuccess', res);

},

onError: function(err) {

console.log('onError', err);

},

});

var files = uploader.files; //通过实例的files熟悉可以访问上传文件

console.log(files);

参数配置defaultConfigs = {id: "", //渲染容器

id accept: '.jpg,.png', //上传类型

action: "", //自动上传地址

autoUpload: false, //是否开启自动上传

contentType: 'application/x-www-form-urlencoded', //同$.ajax参数,默认值为application/x-www-form-urlencoded

crossDomain: true, //是否允许跨域 data:

null, //上传配置参数

dataFormat: 'formData', //上传表单类型,有formData和base64两种

dataType: 'json', //同$.ajax,默认返回数据格式为json

headers: undefined, //上传的请求头部

maxCount: 3, //最大上传文件数

maxSize: 3, //最大上传文件体积,单位M

multiple: false, //是否开启多选上传

name: 'file', //上传的文件字段名

previewWidth: 70, //压缩预览图的宽度

processData: false, //同$.ajax参数,这里默认为false

successKey: 'code', //标识上传成功的key

successValue: 200, //标识上传成功对应的value

showAlert: true, //是否开启alert提示

timeout: 300000, //ajax请求超时时间,默认30秒

withCredentials: true, //是否支持发送 cookie 凭证信息

beforeUpload: null, //ajax上传前的钩子

onAlert: null, //alert时的钩子

onChange: null, //input

change的回调函数: null, //上传失败时的钩子

onRemove: null, //移除文件时的钩子

onSuccess: null, //上传成功时的钩子

}

版本信息当前最新版本为V2.0,相对于V1版本体积更小,性能更佳,配置也更加灵活,欢迎新老朋友与我交流,或者给以反馈(update at 2019-03-14)

更新时间:2018/1/18 上午12:58:39

更新说明:

修改:

1、增加okCode字段(匹配数据code,执行成功回调)

2、修改界面ui,如gif背景变透明,boder颜色加深等

easyUpload.js

试用过一些资源,发现无法满足项目业务需求,或者无法满足个人的免费要求。因此,我决定从第一行代码开始,来编写一个即免费又好用的玩意。它可以覆盖大部分应用场景,同时也必须高效、稳定、易配置。是的,正是出于这个动机,才有了你看到的这个小项目。个人水平有限,欢迎各位网友批评指正,也可与我联系交流(Email:funnyque@163.com; QQ:1016981640)

插件支持文件类型可配置

允许文件大小可配置

是否开启多文件上传可配置

多文件上传数可配置

支持样式自定义

支持单文件上传及删除

支持多文件一键上传及删除

支持实时展示上传进度条

支持上传前文件预览

文件说明

实际需要用到这里的文件可能只有:easyUpload.js

easy-upload.less

easy-upload.css

font/

img/

easyUpload.js是插件的主要文件;easy-upload.less便于对css修改;easy-upload.css是less预处理后编译文件,对less不熟悉可以直接修改它;font文件夹里有插件需要用到的字体库;img里有显示上传状态的gif;项目中其他文件则是为了便于你查看demo后加入的。当然,这个插件依赖于jq,调用插件之前需要先引入jq。关于插件的使用,你可以参考下面的使用说明,也可以直接查看demo.html内的示例,这样你可以更快的搞明白

使用说明

插件使用只需四步:

定义一个结构用于放入插件

引入easy-upload.css

引入jq及easyUpload.js

配置插件$('#easyContainer').easyUpload({

allowFileTypes: '*.jpg;*.doc;*.pdf',//允许上传文件类型,格式';*.doc;*.pdf'

allowFileSize: 100000,//允许上传文件大小(KB)

selectText: '选择文件',//选择文件按钮文案

multi: true,//是否允许多文件上传

multiNum: 5,//多文件上传时允许的文件数

showNote: true,//是否展示文件上传说明

note: '提示:最多上传5个文件,支持格式为doc、pdf、jpg',//文件上传说明

showPreview: true,//是否显示文件预览

url: '/api/file/upload',//上传文件地址

fileName: 'file',//文件filename配置参数

formParam: {

token: $.cookie('token_cookie')//不需要验证token时可以去掉

},//文件filename以外的配置参数,格式:{key1:value1,key2:value2}

timeout: 30000,//请求超时时间

successFunc: function(res) {

console.log('成功回调', res);

},//上传成功回调函数

errorFunc: function(res) {

console.log('失败回调', res);

},//上传失败回调函数

deleteFunc: function(res) {

console.log('删除回调', res);

}//删除文件回调函数

});

html5 移动端上传图片插件,H5文件上传插件easyUpload.js相关推荐

  1. js插件---IUpload文件上传插件(包括图片)

    js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...

  2. ajax文件插件上传,7 款基于 JavaScript/AJAX 的文件上传插件

    本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 具有多文件上传.拖 ...

  3. 从实战中学前端:打造自己的 html5 文件上传插件

    文件上传初体验 <!-- 这里用了前边的按钮样式,不是重点 --> <input type="file" id="logo" name=&qu ...

  4. ajax 批量上传图片插件,jQuery多文件上传插件jquery.imageuploader.js

    插件描述:jQuery多文件上传插件jquery.imageuploader.js,可以同时上传多个文件并支持拖拽上传 jquery.imageuploader.js 一款jquery多文件上传插件. ...

  5. 文件上传插件WebUploader的使用

    文件上传插件WebUploader的使用 插件描述: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里 ...

  6. jquery uploadify 多文件上传插件 使用经验

    2019独角兽企业重金招聘Python工程师标准>>> Uploadify 官网:http://www.uploadify.com/ 一.如何使用呢? 官网原文:http://www ...

  7. bootstrap3 文件上传插件fileinput中文说明文档

    file input插件功能如此强大,样式非常美观,并且支持上传文件预览,ajax同步或异步上传,拖曳文件上传等炫酷的功能,完全没有理由不去使用,但是国内很少能找到本插件完整的使用方法,于是本人去其官 ...

  8. 功能强大的文件上传插件带上传进度-WebUploader

    WebUploader是由Baidu WebFE(FEX)团队开发的一个以HTML5/FLASH构建的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用老 ...

  9. 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...

  10. (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...

    http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...

最新文章

  1. IOS NSString 操作
  2. 多态的实现(重载,虚方法,抽象类,接口)
  3. 并发–执行程序和Spring集成
  4. stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点
  5. java8 stream 分组_Java 8 中 Map 骚操作之 merge() 的用法
  6. php_connect_nonb,net2ftp无法显示文件列表输出为空
  7. Frequentist 观点和 Bayesian 观点
  8. WPF实例系列一:登录、注册界面设计
  9. 制作u盘winpe启动盘_微PE工具箱 (WePE),绿色纯净的WinPE启动盘/U盘重装系统工具...
  10. Meltdown Reading Kernel Memory from User Space
  11. 数据迁移方案-云迁移
  12. 用Taichi(python)实现星际穿越特效
  13. 虚拟机是什么?有什么用
  14. 【今日收获】关于[Error] expected identifier before ‘*‘ token的解决办法
  15. Canvas drawImage在高清屏幕下变模糊,解决方案
  16. [TC6194]AllWoundUp
  17. [郭德纲]挤兑死人不带脏字
  18. C语言free空空指针,dmc: Dynamic Memory Check (DMC) , 解决C语言空指针、悬空指针、越界访问、野指针问题的一个方案。...
  19. Chipscope run卡住问题Sample Buffer has 0 samples
  20. Excel如何快速录入数字转为大写金额公式

热门文章

  1. 输入输出文件处理:搜索文件夹里的文件与读取某一文件的信息 ——java
  2. python优化网站_利用python做seo优化
  3. 五、BD09(百度坐标系)
  4. 电子计算机的核心部件是哪三个,电子计算机三大核心部件 是什么
  5. 计算机网络被限速,电脑网速被限制怎么办
  6. 前端使用身份证阅读器(高拍仪)集成vue项目
  7. Linux下报ora-12162,登录RMAN 报ORA-12162:TNS:net service name is incorrectly specified错误
  8. 计算机应用基础 (2013),计算机应用基础
  9. JAVA 9中module初探
  10. Pano2VR制作全景图缩略图导航