我发出一个帖子请求并收到一组图像 URL。然后我需要将这些图像转换为 base64 并将它们保存为字符串。这是转换图像的代码(我使用了这个参考:http: //jsfiddle.net/handtrix/YvQ5y/):
var convertImgToDataURLviaCanvas = function(url, callback, outputFormat){
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function(){
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
var dataURL;
canvas.height = this.height;
canvas.width = this.width;
ctx.drawImage(this, 0, 0);
dataURL = canvas.toDataURL(outputFormat);
callback(dataURL);
canvas = null;
};
img.src = url;
};
这是我在收到 $http post 调用的结果后在 .then 函数中调用的函数:
var base64Image = convertImgToDataURLviaCanvas(resultImages[i], function(base64Img){
console.log(base64Img)
dpd.studentanswers.post({
studentName: "Student" ,
answerImage: 'http://imagesource.com',
questionPrompt: image,
answerImageBase64: 'http://imagesource.com'
}, function(todo, err) {
if (err) {
alert(err.message || (err.errors && err.errors.title));
return;
}});
});
它什么也没做。它甚至不记录任何东西。我将不胜感激一些帮助。