前言:之前的项目使用的上传是element的el-upload,后期项目上线后用户在使用时发现多人同时上传过大的文件,就上传不上去,后期我们为了解决这个问题,决定使用vue-simple-uploader实现断点续传。
我的项目地址:https://github.com/woderlili/simple-uploader
vue-simple-uploader:
- 支持文件、多文件、文件夹上传;支持拖拽文件、文件夹上传 可暂停、继续上传
- 错误处理
- 支持“秒传”,通过文件判断服务端是否已存在从而实现“秒传”
- 分块上传
- 支持进度、预估剩余时间、出错自动重试、重传等操作
vue-simple-uploader地址
simple-uploader.js文档
在vue-simple-uploader的基础上添加了文件校验和md5实现样式:
安装
//vue-simple-uploader安装:
npm install vue-simple-uploader --save
//md5工具安装:
npm install spark-md5 --save
// jquery安装:后面在md5里有使用
npm install jquery --save
然后在main.js中引用
import uploader from 'vue-simple-uploader'
Vue.use(uploader)
使用
(代码过多,只讲部分)
<template>
<div id="global-uploader" class="AD-uploadFile">
<!-- 上传 -->
<uploader
ref="uploader"
:options="options"
:autoStart="false"
:fileStatusText="fileStatusText"
@files-added="onFilesAdd"
@file-success="onFileSuccess"
@file-error="onFileError"
class="uploader-app"
>
<uploader-unsupport></uploader-unsupport>
//上传按钮样式
<uploader-btn :attrs="attrs" ref=&