我正在使用<input type='file' onchange="readURL(this)"/>
控件將圖像上傳到我的網絡服務。這裏我使用canvas
來減小圖像大小。代碼工作正常,但在第一次嘗試上傳圖像時發送空白圖像,第二次嘗試發送第一張圖像。這意味着我需要畫布的事件,它告訴我,當圖像已經繪製在畫布HTML5畫布中是否有任何事件表明圖像已被繪製?
function readURL(input) {
if (input.files && input.files[0]) {
var canvas = document.getElementById('canvas1');
var context = canvas.getContext('2d');
var reader = new FileReader();
reader.onload = function (e) {
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 0, 0, 300, 275);
};
imageObj.src = e.target.result.toString();
$.ajax({
//My Web Service call code
});
}
reader.readAsDataURL(input.files[0]);
}
}
所以,問題是有沒有在HTML5畫布它告訴圖像的任何事件已經繪就?