纯js实现图片上传预览功能

1、html

<div id="zTu">图片</div>

2、js上传方法封装

复制代码
 1 /**
 2  * @description 上传图片
 3  * @param {object} picker
 4  * @param {string} url
 5  * @param {function} callback
 6  */  
 7 function uploadImages(picker, url, callback) {
 8   var img_uploader = WebUploader.create({
 9     auto: true,
10     server: url,
11     pick: picker,
12     fileNumLimit: 1,
13     fileSingleSizeLimit: 2097152, // 2M
14     accept: {
15       title: 'Images',
16       extensions: 'gif,jpg,jpeg,bmp,png',
17       // mimeTypes: 'image/*'
18     },
19     compress: {
20       width: 300,
21       compressSize: 102400 // < 100kb 不压缩
22     },
23   })
24  
25   var fileType = ['image/jpeg', 'image/jpg', 'image/gif', 'image/png', 'image/bmp']
26  
27   img_uploader.on('beforeFileQueued', function(file) {
28  
29     fileType.some(function(name) {
30       return file.type === name
31     }) ? '' : alert('请上传正确的图片!')
32  
33   })
34  
35   img_uploader.on('uploadSuccess', function(file, res) {
36     callback(file, res)
37   })
38  
39   img_uploader.on('uploadError', function(file, reason) {
40     console.log(reason);
41   })
42  
43   img_uploader.on('uploadComplete', function(file) {
44     img_uploader.reset()
45   })
46  
47 }
复制代码

3、上传并预览

复制代码
 1 /**
 2  * @description 手动上传并预览
 3  */
 4 function initImageUploader(){
 5   var fileUrl = 你想上传的地址;
 6   uploadImages('#imagePicker', fileUrl, function(file, res) {
 7    var coverImage = res.url
 8    $('#zTu').get(0).innerHTML = '<div class="file-item thumbnail"><img style="max-height:180px" src="' + res.url + '" /></div>'
 9   })
10  }
11 
12 // 方法调用
13 initImageUploader();
复制代码

 

<完>

 

posted @   木子末  阅读(200)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示