1.在业务中,我们通过vat desgin 上传组件的时候想修改上传的图片大小和对图片优化压缩,是个很麻烦的事,直接上代码;借鉴
transformFile(file) {
const that = this
const height = 640 //图片的高
const width = 360 //图片的宽
return new Promise((resolve) => {
const reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = () => {
const canvas = document.createElement('canvas')
canvas.width = height
canvas.height = width
const img = document.createElement('img')
img.src = reader.result
img.onload = async () => {
console.log(this.clientWidth)
const ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, height, width)
let base64 = canvas.toDataURL(file['type'], 0.8)
let files = await that.dataURLtoFile(base64, file.name)
resolve(files)
// canvas.toBlob(resolve, 'image/jpeg', 1)
}
}
})
},