上传图片
XML/HTML Code复制内容到剪贴板
- <div class="fr submit-btn">
- 上传
- <input type="file" accept="image/*" class="uploadImageInput sub-img" id="uploadImageInput" @change="uploadImage($event)">
- </div>
JavaScript Code复制内容到剪贴板
- uploadImage(event) {
- // 上传图片
- let files = event.target.files || event.dataTransfer.files;
- if(!files.length) return;
- this.createImage(files);
- },
- createImage(file) {
- let vm = this;
- vm.$indicator.open(); //loading
- if(typeof FileReader === "undefined") {
- alert("您的浏览器不支持图片上传,请升级您的浏览器");
- return false;
- }
- let image = new Image();
- let leng = file.length;
- let reader = new FileReader();
- let userId = vm.$store.state.common.userId;
- let publishId = vm.publishId;
- reader.readAsDataURL(file[0]);
- reader.onload = function(e) {
- let params = {
- "images":e.target.result,
- "userId":userId,
- "publish_id":publishId
- };
- vm.request.post(vm.$store.state.cms.api.uploadCoverImage, params).then(response => {
- let res = response.data;
- if(res.code == 0) {
- // 更改封面图片路径
- vm.coverImage = res.data;
- } else {
- vm.$toast(res.msg);
- }
- vm.$indicator.close();
- }, response => {
- vm.$indicator.close(); //关闭loading
- vm.$toast("网络连接失败");
- })
- };
- },
加一个判断图片格式的:
JavaScript Code复制内容到剪贴板
- uploadImage(event) {
- // 上传图片
- let files = event.target.files || event.dataTransfer.files;
- if(!files.length) return;
- let type = files[0].type;
- if(type.indexOf("/") > 0) //如果包含有"/"号
- {
- type = type.split("/");
- type = type[1];
- console.log(type);
- if(!/\.(gif|jpg|jpeg|bmp)$/.test(type)) {
- alert("图片类型必须是.gif,jpeg,jpg,bmp中的一种")
- return false;
- }
- }
- this.createImage(files);
- },
其实只要input上面加一个
XML/HTML Code复制内容到剪贴板
- <input type="file" accept="image/*">
多图上传:
https://segmentfault.com/a/1190000006860258
上一篇 mint-ui Navbar
下一篇 vue 富文本编辑器