自己的随手笔记,分享给大家,如果有不足或者建议请大家多多指教,如果有问题请加 QQ(1445579000) 说明来意
接各类软件开发项目及其各类私活,价格最优
由于最近项目需要用到上传压缩图片在网上找了一些资料不太好用,在git上找了一下这个压缩框架非常好用,也非常简单,适合一个页面多个上传图片和单个上传图片使用,多个上传图片可以封装一下,这边我就不上传多个封装得代码了,只给大家分享一下单个上传吧
1.首先第一步先npm install exif-js --save 安装插件
2.然后import引入一下就可以使用了
接下来就是代码了
changeImage(e) {
let files = e.target.files || e.dataTransfer.files;
if (!files.length) return;
this.picValue = files[0];
this.imgPreview(this.picValue);
},
imgPreview (file) {
let self = this;
let Orientation;
//去获取拍照时的信息,解决拍出来的照片旋转问题
Exif.getData(file, function(){
Orientation = Exif.getTag(this, 'Orientation');
});
// 看支持不支持FileReader
if (!file || !window.FileReader) return;
if (/^image/.test(file.type)) {
// 创建一个reader
let reader = new FileReader();
// 将图片2将转成 base64 格式
reader.readAsDataURL(file);
// 读取成功后的回调
reader.onloadend = function () {
let result = this.result;
let img = new Image();
img.src = result;
//判断图片是否大于100K,是就直接上传,反之压缩图片