基于H5的easyUpload.js多文件批量上传实例

所需积分  10 4243
基于H5的easyUpload.js多文件批量上传实例

一款简单易用、可配置的H5/Web上传插件。支持多文件上传批量上传,混合上传,以及多实例上传。

特性

文件类型可配置

文件数量可配置

文件大小可配置

上传前文件可预览

展示上传实时进度条

批量上传

支持不同类型文件混合上传

支持自由配置 base64 或 FormData 等数据格式

支持自由配置请求头等,api保持和原生api一致

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

css与结构分离,支持自由定制样式

原生js编写,不依赖任何类库

使用说明

html页面内引入easyUpload.min.js和easy_upload.min.css,简单配置后即可使用

生产环境建议使用dist文件夹内压缩代码,二次开发测试可参考src文件夹内源代码

配置说明

  1. // easyUpload(configs)
  2. easyUpload({
  3.    easyId: 'easy1',
  4.    action: 'https://jsonplaceholder.typicode.com/posts/',
  5.    accept: '.jpg,.png,.gif,.pdf,.docx',
  6.    maxSize: 3, //单位MB
  7.    showLoading: true,
  8.    setRequestHeader: function(xhr) {
  9.        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
  10.        //和原生xhr配置api保持一致
  11.    },
  12.    buildSendData: function(file) {
  13.        // var formData = new FormData(); // 发送格式为formData时
  14.        // formData.append('name', file.file)
  15.        // return formData;
  16.        // return file.base64; //发送格式为base64时
  17.        return null; //发送空数据,用于测试。默认return null
  18.    },
  19.    checkSuccessCode: function(xhr) {
  20.        if (/error/.test(xhr.responseText.toLowerCase())) { //这里判断仅仅用于测试,具体看项目
  21.            return false;
  22.        } else {
  23.            return true;
  24.        } //默认return true
  25.    },
  26.    uploadStart: function(self) {
  27.         // 文件队列上传前的回调函数,传入唯一参数'self'是当前插件实例
  28.         console.log('上传开始,现在的队列是', self.files)
  29.    },
  30.    uploadEnd: function(self) {
  31.         // 文件队列上传完成后的回调函数,传入唯一参数'self'是当前插件实例
  32.         console.log('上传完成了,现在的队列是', self.files)
  33.    }
  34. });

参数说明

  1. // 以下为默认配置,重新配置后将覆盖
  2.  var defaultConfigs = {
  3.      easyId: '', //插件插入节点的Id,String类型
  4.      accept: '.jpg,.png,.pdf', //允许文件类型后缀名,逗号分隔,String类型
  5.      action: '', //上传文件地址,String类型
  6.      btnText: {  //按钮展示文字
  7.          select: '选择文件',
  8.          upload: '上传',
  9.          delete: '删除',
  10.          cancel: '终止'
  11.      },
  12.      maxCount: 3, //插件单次添加文件的最大数量,Number类型
  13.      maxSize: 3, //允许上传文件的最大体积,单位MB,Number类型
  14.      multiple: true, //是否开启多文件上传,Boolean类型
  15.      messageTime: 2000, //messageBox消息提示毫秒数,Number类型
  16.      responseType: 'text', //xhr的responseType格式,String类型
  17.      showSize: true, //是否展示文件体积,Boolean类型
  18.      showLoading: false, //是否展示上传loading动画,Boolean类型
  19.      statusText: {  //不同状态展示的提示文字,key为对应文件状态(不可修改),value为展示文字
  20.          0: '允许上传', //文件大小验证合格后的初始状态
  21.          1: '即将上传', //等待上传队列执行到自己时的状态
  22.          2: '0%',      //上传时刚发出xhr还没响应时的状态
  23.          3: '上传成功',  //xhr响应&上传成功时的状态
  24.          4: '上传失败',  //xhr响应&上传失败时的状态
  25.          5: '体积超出',  //检测文件大小超出限定值时的状态
  26.      },
  27.      statusTextColor: {  //不同状态'提示文字'标签的className,key为对应文件状态(不可修改),value为标签的className
  28.          0: 'normalcolor',  //正常状态字体色的className
  29.          1: 'normalcolor',  //正常状态字体色的className
  30.          2: 'normalcolor',  //正常状态字体色的className
  31.          3: 'normalcolor',  //正常状态字体色的className
  32.          4: 'failedcolor',  //失败状态字体色的className
  33.          5: 'warncolor',    //警告状态字体色的className
  34.      },
  35.      statusBg: {  //不同状态对应标签的className,key为对应文件状态(不可修改),value为标签的className
  36.          0: 'normalbg',  //正常状态背景色的className
  37.          1: 'normalbg',  //正常状态背景色的className
  38.          2: 'normalbg',  //正常状态背景色的className
  39.          3: 'normalbg',  //正常状态背景色的className
  40.          4: 'failedbg',  //失败状态背景色的className
  41.          5: 'warnbg',    //警告状态背景色的className
  42.      },
  43.      timeout: 0, //请求超时毫秒数,0表示永久,Number类型
  44.      withCredentials: true, //是否允许请求头自带cookie等证书,Boolean类型
  45.      setRequestHeader: null, //配置xhr请求头的方法
  46.      buildSendData: null, //配置xhr发送数据格式的方法,返回data
  47.      checkSuccessCode: null, //检查成功状态码的方法,返回布尔值,默认返回true
  48.      uploadStart: null, //每个文件队列上传前的回调函数,传入参数'self'是当前easyUpload实例,可通过self.files查看队列文件
  49.      uploadEnd: null //每个文件队列上传完成后的回调函数,传入参数'self'是当前easyUpload实例,可通过self.files查看队列文件
  50.  };


展开

ThinkphpUploadPic单图片上传+多图片上传

thinkphp+单图片上传+多图片上传(ThinkphpUploadPic)##单图片上传:使用修改后的uploadify插件使用方法:1、添加/Public/plugins/uploadify文件夹;2、html:见onePic.htm

PHP微信扫码关注公众号并授权登录源码

PHP微信扫码登录看起来简单,但做起来有点麻烦,开发起来就会浪费很多的时间。PHP判断是否首次关注公众号,扫码关注公众号获取微信用户头像、openid和省市等信息源码。使用方法:1、把 wx 目录放到网站根目录2、登录https://mp.

元气动态壁纸在线下载PHP源码

元气动态壁纸在线下载PHP源码,直接上传到网站根目录即可。输入动态壁纸页面链接就可以一键获取动态壁纸的下载链接了。

PHP生成中间带LOGO图像的二维码实例

这是一个二维码生成器,它可以帮助你以简单的方式生成二维码,并且可以设置二维码中间的小logo图标。使用非常简单,并且提供了一个Symfony包,可以快速整合到你的项目中。

jQuery年终奖抽奖系统代码

公司年终奖抽奖系统,基于jQuery,兼容Chrome,火狐等现代浏览器,其他浏览器未做兼容性测试

PHP+Javascript实现拖动滑块完成拼图验证码

目前市面上做的好的拖动验证、用户行为验证有极验验证码、网易易盾验证等,这些第三方验证一般需要收费,本文给大家介绍一款免费的拖动验证码,使用PHP+Javascript实现。主要技术应用1、php抠图2、js canvas画图3、破解干扰4、

抖音快手无水印解析APi代码实例

网友自己写的,目前支持抖音和快手,数据都是从原服务器取来的,没有从html结果抓,应该算是比较稳定一点, 其他平台的函数大家照猫画虎试试。一共五个函数1、analyzing 平台解析2、douyin 抖音视频处理3、kuaishou 快手视

PHP点餐系统/基于Vue开发的前后端分离点餐系统实例

PHP点餐系统,基于Vue开发的前后端分离点餐系统实例;本站已亲测,功能全面,可实现在线点餐。需要注意的是默认系统是部署在“phpecXfv”文件夹中的,如果需要部署在根目录,则注释掉根目录 index.php 文件的5-9行。并修改 /f

PHP+Mysql+jQuery找回密码实例

找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密码模块重新设置新密码。

ThinkPHP5微信支付扩展库

ThinkPHP5微信支付扩展库使用说明在默认配置情况下,将文件夹**拷贝到根目录**即可, 其中 extend 目录为扩展目录需要在配置文件 /extend/wxpay/lib/WxPayConfig.php 中填写必要的参数如有退款操作

基于ThinkPHP5.0的微信小程序登录流程封装

基于ThinkPHP5.0的微信小程序composer包。安装方法:composer require xxh/think-wxminihelper你只需要两部就可以实现微信的登录验证,验证成功后会自动返回一个3rd_se

php-qrcode 在线生成二维码

基于phpqrcode+js实现的在线生成二维码工具(canvas版)。新增小程序版本,wxapp-qrcode文件夹,目前功能只有简版的生成二维码,代码下载后可在本地的微信开发者工具中导入查看。

仿美图秀秀html5版canvas自由拼图实例

基于canvas自由拼图实例,可以自由拖动,仿美图秀秀自由拼图,并可以对插入图片旋转,拖拽,缩放。当然,如果用户对插入的图片不满意,可以用另一张图片替换选中的图片,或者删除选中图片。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐