案例:在系统中使用签字笔产生的图片直接传到服务器,不通过input上传,本人是没法获取数据流,解决方案;使用图片转base64
代码如下:
var img = "http://127.0.0.1:8010/DrawImage.JPG";
function getBase64Image(img) {
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0, img.width, img.height);
var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
var dataURL = canvas.toDataURL("image/"+ext);
return dataURL;
}
var image = new Image();
image.crossOrigin = '';
image.src = img;
image.onload = function(){
var base64 = getBase64Image(image);
console.log(base64);
}
console出来的,获取到的base64串,base64可以直接作为图片显示的src
@@:一般项目都会涉及跨域问题,上面的图片地址也涉及到了跨域,解析见下一篇(nginx解决跨域问题)