다중 파트 POST를 통해 큰 CSV 파일을 가져와 png를 반환하는 스크립트가 있습니다. 나는 submit the form via ajax에 있고 현재 웹 페이지에 그 png를 표시하고 싶습니다. 나는 그것을하는 방법을 알아낼 수없는 것.jquery.form ajax 호출 결과를 <canvas> 또는 <img> 태그로 바꾸기
this question 및 this question에 기초하여, 나는 nonworking jsfiddle을 함께 나타냈다. 반환 된 문자열을 Uint8Array
으로 변환하거나 변환하지 않고 시도했습니다. Image.onerror
이벤트에서 더 유용한 정보를 얻는 방법을 모르겠습니다. 다음과 같이
내 기능은 같습니다
$('#btnDoIt').click(function() {
$("#theForm").ajaxSubmit(function(data) {
var imageData = new Uint8Array(data.length);
for(var i=0, j=data.length; i<j; ++i){
imageData[i]=data.charCodeAt(i);
}
var blob = new Blob([imageData], {type: "image/jpeg"});
var url = URL.createObjectURL(blob);
var img = new Image();
var context = document.getElementById('myCanvas').getContext("2d");
img.onload = function() {
/// draw image to canvas
context.drawImage(url, 1,1);
}
img.onerror = function(error) {
console.error(error);
};
img.src = url;
});
});