Vue使用mixins实现压缩图片代码

2020-06-14 05:57:43易采站长站整理

image.src = this.result;
};
}
},

/**
* 把Base64转换成file文件
*/
convertBase64UrlToFile(dataurl, filename) {
let arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type: mime});
}

}
};

example


<template>
...
</template>
<script>
import imageUploadMixins from '@/mixins/image-compress';
export default {
mixins: [imageUploadMixins],
...
methods:{
handleUploadImage(e){
let file = e.target.files[0];
this.checkAndHandleCompression(file).then( fileOptions => {
// let {uploadSrc, uploadFile} = fileOptions;

// 压缩完成使用 uploadSrc, uploadFile

...

});
}
}
...
}
</script>
<style>
...
</style>