1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > webuploader文件上传 拖拽上传 进度监听 类型控制 上传结果监听控件

webuploader文件上传 拖拽上传 进度监听 类型控制 上传结果监听控件

时间:2021-06-05 07:33:35

相关推荐

webuploader文件上传 拖拽上传 进度监听 类型控制 上传结果监听控件

webuploader 是一款兼容性很强 且也非常好用的前端控件 vue项目中也可以使用

我们先来简单看看

大家可以先下载我上传的资源插件

/download/weixin_45966674/85899651?spm=1001..3001.5503

下载下来后我们可以看到目录如下

没错 这款插件是依赖jquery 这是个小败笔吧 不过上一代的技术 也确实基本都要依赖jq

然后我们建一个目录 建一个webuploader 将这四个文件放进里面

然后和webuploader同级目录创建页面

演示代码如下

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!--引入WebUploader文件上传的CSS--><link rel="stylesheet" type="text/css" href="./webuploader/webuploader.css" media="screen" /><script type="text/javascript" src="./webuploader/jquery-1.8.3.js"></script><!--引入WebUploader文件上传的JS--><script type="text/javascript" src="./webuploader/webuploader.js"></script><style>.maskUpload{width: 300px;height: 300px;background-color: blueviolet;}</style></head><body><!--用来存放文件信息--><div class="uploader-demo"><div class="btns"><div id="filePicker">选择文件</div><button id="ctlBtn" class="mybutton" onclick="upload_imgs()">开始上传</button><div class = "maskUpload"></div></div></div><script type="text/javascript">var uploader;$(function(){//初始化Web Uploader,每上传一个文件都会创建一个uploader对象,同时选择多个文件时,则会创建多个uploader对象。uploader = WebUploader.create({// 选完文件后,是否自动上传。auto: false,//true时,选择文件后自动上传。// swf文件路径swf: 'resources/widget/webuploader/Uploader.swf',// 文件接收服务端。server: 'upload/uploadImg',// 选择文件的按钮。可选。pick: '#filePicker',dnd: ".maskUpload",accept: {title: '文件上传',//支持上传的文件类型extensions: 'jpg,png,doc,xlsx',mimeTypes: '*'}});//当文件被加入队列时触发uploader.on('fileQueued',function (file) {console.log(file);});//队列中所有文件上传结束时触发uploader.on('error', (type) => {console.log('上传文件类型不支持时触发');});//文件上传中实时返回进度uploader.on('uploadProgress', (file, percentage) => {console.log('上传进度'+percentage);});//文件上传成功时触发uploader.on("uploadSuccess",function (file,response) {console.log('上传成功');});//文件上传错误时触发uploader.on('uploadError', (file, reason) => {console.log('上传失败');});//队列中所有文件上传结束时触发uploader.on('uploadFinished', (file, reason) => {console.log('上传结束');});})//上传图片function upload_imgs() {if (uploader){uploader.upload();}}</script></body></html>

然后我们点击上传 这里extensions控制文件后缀格式 我设置的格式 只支持 jpg,png,doc,xlsx

点击上传如果是对的合适 就会被加入队列 触发fileQueued 每一个文件加入队列都会触发fileQueued 我们可以定义一个数组 将fileQueued的每一次文件流都存起来展示用

然后我们上传不支持的格式 就会被uploadFinished拦截下来

我们点击上传就会触发uploadProgress 这个是这款框架我觉得最大的亮点 可以监听到上传的进度 走到多少了

执行 uploader.upload();直接上传

上传成功触发uploadSuccess

失败则执行uploadFinished

当然还有一个亮点就是拖拽上传

dnd属性控制 里面对应的就是css选择器 选择拖拽到哪块元素上触发上传

我们这里设置了 class 为 maskUpload 的div

我们将文件从电脑直接拖拽到界面上就会触发添加到队列中 也是非常的好用

但这个工具需要后台配合 server控制上传的服务端口 swf设置上传的接口名称

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。