时间:2021-07-28 07:43:52 | 栏目:JavaScript代码 | 点击:次
问题的起因是因为的我的图片大小大于url-loader 的尺寸标准,导致webpack自动将图片的路径做了压缩处理,直接导致了我在获取dom的value的时候无法正确的获取到图片的正确路径。
直接上解决的方法。
picUpload(e) { let image = new Image(); const reader = new FileReader(); const $img = e.target.files[0]; const formData = new FormData(); formData.append('pic', $img); reader.onload = (e) => { const src = e.target.result; image.src = src; if (image.width !== 750 && image.height !== 1334) { this.showModal('', '图片尺寸有误,请重新上传', 'warning', true, false); } else { if ($img.size > (300 * 1024)) { this.showModal('', '图片大小不能超过300k', 'warning', true, false); this.setParams('pic', ''); } else { this.$set(this, 'IMGNAME', $img.name); this.setParams('pic', formData); } } } if (e.target.files && e.target.files[0]) { reader.readAsDataURL(e.target.files[0]); } },
这边给image 的src所赋值是用base64编码之后的图片路径。 所以要通过readAsDataURL来取出关于路径base64编码之后的结果。算是一个小小的坑。这里做一个笔记方便日观看。