mui 上传图片转base64
/**
* 手机相册选择
* @param {object} dom 上传节点
*/
function galleryImg(dom) {
plus.gallery.pick(function(a) {
plus.io.resolveLocalFileSystemURL(a, function(entry) {
//entry为图片原目录(相册)的句柄
upImg(entry.toLocalURL(), dom);
insertPhoto(entry.toLocalURL())
}, function(e) {
console.log("读取图片错误:" + e.message);
});
}, function(a) {}, {
filter: "image"
}) }
//图片转base64
function insertPhoto(data) {
var imgClass; //img的class名
//创建image对象并转换base64码
var img = new Image();
img.src = data;
img.onload = function() {
//创建canvas画布
var canvas = document.createElement("canvas");
//在css中不要直接给img设置宽高,否则此处会获取到css设置的值
var width = img.width;
var height = img.height;
//比较图片宽高设置图片显示和canvas画布尺寸
if (width > height) {
imgClass = 'height';
if (width > 500) {
height = Math.round(height *= 500 / width);
width = 500;
}
} else {
imgClass = 'width';
if (height > 500) {
width = Math.round(width *= 500 / height);
height = 500;
}
}
canvas.width = width; //设置新的图片的宽度
canvas.height = height; //设置新的图片的长度
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, width, height); //绘图
var dataURL = canvas.toDataURL("image/png", 0.8); //供img标签使用的src路径
console.log(dataURL)//转后路径
}
}