52,797
社区成员
发帖
与我相关
我的任务
分享
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;
}
function UploadPic() {
var img = new Image();
img.src = $('#img_id').src;
$.ajax({
type: 'POST',
url: 'http://10.10.10.135:82/pies/SignatureUploadServlet',
data: JSON.stringify({ 'image': getBase64Image(img) }),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
alert("Done, Picture Uploaded.");
}
});
}
大致这样吧
function image2Base64(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 dataURL = canvas.toDataURL("image/png");
return dataURL;
}
这里得到的dataURL就是一段base64格式的字符串,至于提交到服务器,就把 dataURL当做一段普通的字符串通过ajax的post到服务器,类似下面的代码
$.post("xxx",{image:dataURL},function(result){
//处理
});
服务器端接收到这个字符串,再还原成图片,
byte[] arr = Convert.FromBase64String(imageString);
MemoryStream ms = new MemoryStream(arr);
Bitmap bmp = new Bitmap(ms);
bmp.Save("服务器路径");