一个基于element-ui,实现图片选取和上传的Vue插件,可显著提升管理后台图片选取、上传的用户体验。
源码: https://github.com/coderpan-com/elx-imgbox
效果截图
1、选取图片库中的图片
2、上传图片
require
- Vue 2.5+
- element-ui 2+
- jQuery
使用方法
1、引入依赖前端库
1 2 3 4 5 6
| <link rel="stylesheet" href="https://cdn.bootcss.com/element-ui/2.0.5/theme-chalk/index.css"> <script src="https://cdn.bootcss.com/vue/2.5.8/vue.js"></script> <script src="https://cdn.bootcss.com/element-ui/2.0.5/index.js"></script> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="https://raw.githubusercontent.com/erzh/elx-imgbox/master/dist/imgbox.js"></script>
|
2、在原生js或Vue代码中调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| var opts = { uploadUrl: 'http://imgbox.imcm.me/test/upload.json', listUrl: 'http://imgbox.imcm.me/test/list.json', onSelect: function(img){ console.log(img); } };
var imgbox = Vue.elxImgbox(opts); options { uploadUrl: '', listUrl: '', multiple: true, limit: 10, onSelect: null, enableUpload: true, maxSize: 2 }
|
关于上传
- 支持选择单个文件和多个文件;
- 选择文件后,需要点击“确定上传”开始上传图片;
- 上传图片只要有一张成功则回调并关闭上传窗口
- 有错误发生ELEMENT.Message.error()提示
交互数据
上传返回数据格式
1 2 3 4 5 6 7
| { "uploadfile_response": { "name":"图片名", "thumb":"图片缩略图链接", "你需要的其他属性": "其他属性值" } }
|
列表数据格式
1 2 3 4 5 6 7 8 9 10 11 12
| { "list":[ { "name": "图片名", "thumb": "图片缩略图链接", "label": "图片长x宽", "你需要的其他属性": "其他属性值" } ], "total": "总图片数" }
|