思路如下:
- 构造一个img元素,将url赋给img
- 等待图片加载完成
- 构造一个canvas元素
- 将img元素画到canvas上
- 通过canvas的api将url转化为base64
function convertImgToBase64(url, callback, outputFormat){
var canvas = document.createElement('CANVAS'),
ctx = canvas.getContext('2d'),
img = new Image
img.crossOrigin = 'Anonymous'
img.onload = function(){
canvas.height = img.height
canvas.width = img.width
ctx.drawImage(img,0,0)
var dataURL = canvas.toDataURL(outputFormat || 'image/png')
callback.call(this, dataURL)
canvas = null
}
img.src = url
}
var url = "static/img/js1.jpg"
convertImgToBase64(url, function(base64Img){
//转化后的base64
alert(base64Img)
})