处理图片上传 并利用canvas压缩 且转化为base64,

这篇文章处理图片上传 并利用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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值