- 将图片转换为base64格式
主要使用 canvas,将图片绘制出来,再使用 toDataURL转换为 base64
function imgToBase64(url) {
var image = new Image();
image.src = url;
image.onload = function() {
var w = this.naturalWidth;
var h = this.naturalHeight;
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = w;
canvas.height = h;
ctx.drawImage(this, 0, 0, w, h);
var base64 = null;
base64 = canvas.toDataURL("image/jpeg", 0.8); // 将canvas转换为base64位格式
// base64 可以是直接通过图片的src属性显示
console.log("压缩后:" + base64.length / 1024 + " " + base64);
}
}
- 将base64位图片转换为文件File格式
function base64toFile(dataurl, filename) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {type:mime});
}
265

被折叠的 条评论
为什么被折叠?



