vant upload 图片压缩(个人笔记)

const img = new Image()
const reader = new FileReader()// 读取文件资源
reader.readAsDataURL(file.file)
reader.onload = function(e){ 
    img.src = e.target.result
}

let canvas = document.createElement("canvas");
let context = canvas.getContext("2d");
img.onload = () => {
// 指定canvas画布大小,该大小为最后生成图片的大小
canvas.width = 1000;
canvas.height = 800;
/* drawImage画布绘制的方法。(0,0)表示以Canvas画布左上角为起点,400,300是将图片按给定的像素进行缩小。
如果不指定缩小的像素图片将以图片原始大小进行绘制,图片像素如果大于画布将会从左上角开始按画布大小部分绘制图片,最后的图片就是张局部图。*/
context.drawImage(img, 0, 0, 1000, 800);
// 将绘制完成的图片重新转化为base64编码,file.file.type为图片类型,0.92为默认压缩质量
file.content = canvas.toDataURL(file.file.type, 0.60);
// 最后将base64编码的图片保存到数组中,留待上传。
本作品采用《CC 协议》,转载必须注明作者和本文链接
写代码是一件趣事。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

建议上GitHub搜 image js库处理,压缩质量还能保障

2年前 评论
adong (楼主) 2年前
chowjiawei

intervention/image

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!