方法
import ImageCompressor from 'image-compressor.js'
// 图片压缩
const compressFile = (file) => new Promise((resolve, reject) => {
// eslint-disable-next-line no-new
new ImageCompressor(file, {
quality: 0.6, // 设置压缩质量为0.6,以尽量保持图片质量
success: (result) => {
// 调用 convertToBase64 函数并处理返回的 Base64 字符串
convertToBase64(result).then(base64Data => {
const baseStr = base64Data.split(',')[1]
resolve({ baseStr, fileName: file.name })
}).catch(error => {
reject(error)
})
},
error: (e) => {
reject(e)
}
})
})
const convertToBase64 = (blob) => new Promise((resolve, reject) => {
const reader = new FileReader()
reader.readAsDataURL(blob)
reader.onloadend = () => resolve(reader.result)
reader.onerror = error => reject(error)
})
export default compressFile
引入调用
import compressFile from './utils.js'
const afterRead = async (file: any) =>{
const file = await compressFile(file.file)
}