html5 移动端上传图片插件,H5文件上传插件easyUpload.js
插件描述:这是一款流畅的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相关推荐
- js插件---IUpload文件上传插件(包括图片)
js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...
- ajax文件插件上传,7 款基于 JavaScript/AJAX 的文件上传插件
本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 具有多文件上传.拖 ...
- 从实战中学前端:打造自己的 html5 文件上传插件
文件上传初体验 <!-- 这里用了前边的按钮样式,不是重点 --> <input type="file" id="logo" name=&qu ...
- ajax 批量上传图片插件,jQuery多文件上传插件jquery.imageuploader.js
插件描述:jQuery多文件上传插件jquery.imageuploader.js,可以同时上传多个文件并支持拖拽上传 jquery.imageuploader.js 一款jquery多文件上传插件. ...
- 文件上传插件WebUploader的使用
文件上传插件WebUploader的使用 插件描述: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里 ...
- jquery uploadify 多文件上传插件 使用经验
2019独角兽企业重金招聘Python工程师标准>>> Uploadify 官网:http://www.uploadify.com/ 一.如何使用呢? 官网原文:http://www ...
- bootstrap3 文件上传插件fileinput中文说明文档
file input插件功能如此强大,样式非常美观,并且支持上传文件预览,ajax同步或异步上传,拖曳文件上传等炫酷的功能,完全没有理由不去使用,但是国内很少能找到本插件完整的使用方法,于是本人去其官 ...
- 功能强大的文件上传插件带上传进度-WebUploader
WebUploader是由Baidu WebFE(FEX)团队开发的一个以HTML5/FLASH构建的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用老 ...
- 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...
Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...
- (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用...
http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...
最新文章
- IOS NSString 操作
- 多态的实现(重载,虚方法,抽象类,接口)
- 并发–执行程序和Spring集成
- stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点
- java8 stream 分组_Java 8 中 Map 骚操作之 merge() 的用法
- php_connect_nonb,net2ftp无法显示文件列表输出为空
- Frequentist 观点和 Bayesian 观点
- WPF实例系列一:登录、注册界面设计
- 制作u盘winpe启动盘_微PE工具箱 (WePE),绿色纯净的WinPE启动盘/U盘重装系统工具...
- Meltdown Reading Kernel Memory from User Space
- 数据迁移方案-云迁移
- 用Taichi(python)实现星际穿越特效
- 虚拟机是什么?有什么用
- 【今日收获】关于[Error] expected identifier before ‘*‘ token的解决办法
- Canvas drawImage在高清屏幕下变模糊,解决方案
- [TC6194]AllWoundUp
- [郭德纲]挤兑死人不带脏字
- C语言free空空指针,dmc: Dynamic Memory Check (DMC) , 解决C语言空指针、悬空指针、越界访问、野指针问题的一个方案。...
- Chipscope run卡住问题Sample Buffer has 0 samples
- Excel如何快速录入数字转为大写金额公式
热门文章
- 输入输出文件处理:搜索文件夹里的文件与读取某一文件的信息 ——java
- python优化网站_利用python做seo优化
- 五、BD09(百度坐标系)
- 电子计算机的核心部件是哪三个,电子计算机三大核心部件 是什么
- 计算机网络被限速,电脑网速被限制怎么办
- 前端使用身份证阅读器(高拍仪)集成vue项目
- Linux下报ora-12162,登录RMAN 报ORA-12162:TNS:net service name is incorrectly specified错误
- 计算机应用基础 (2013),计算机应用基础
- JAVA 9中module初探
- Pano2VR制作全景图缩略图导航