这篇文章处理图片上传 并利用canvas压缩 且转化为base64,
技术:vue3 + native ui库
// /* 图片压缩方法-canvas压缩--工具 */
function compressUpload(image, file, num) {
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
// const initSize = image.src.length
const { width } = image;
const { height } = image;
canvas.width = width;
canvas.height = height;
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(image, 0, 0, width, height);
// 进行最小压缩0.1
const compressData = canvas.toDataURL(file.type || "image/jpeg", num);
return compressData;
}
// 我用的native-ui库 不过获取的文件参数都差不多
// html
<n-upload @before-upload="photoBtn" :show-file-list="false">
<n-button type="primary" class="photoBtn">拍照</n-button>
</n-upload>
// 拍照上传
const photoBtn = ({ file }) => {
const isLt2M = file.file.size / 1024 / 10
处理图片上传 并利用canvas压缩 且转化为base64,
最新推荐文章于 2024-06-02 19:15:09 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)