1、安装compressorjs
npm i compressorjs
2、 文件中引入:
import Compressor from 'compressorjs'
3、获取到文件之后的处理:
new Compressor(file, {
quality: 0.2,
success(result) {
console.log(result) // 处理后的文件流BLOB
// 以下为文件本地保存、下载查看压缩后的文件效果和大小,可省略
const blobUrl = window.URL.createObjectURL(result)
const a = document.createElement('a')
a.download = result.name
a.style.display = 'none'
a.href = blobUrl
// 触发点击
document.body.appendChild(a)
a.click()
// 然后移除
document.body.removeChild(a)
// 以下为将文件加载到formData中以便文件上传
const formData = new FormData()
formData.append('file', result, result.name);
console.log('formdata', formData)
//文件上传请求
axios.post('/path/upload', formData).then(() => {
console.log('Upload success');
});
},
error(err) {
//错误处理
console.log(err.message)
}
})