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
//创建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)
console.log(dataURL)//转后路径
}
}