У меня есть скрипт, который принимает большой CSV-файл через составной POST и возвращает png. Я хочу отправить форму через ajax и отобразить этот png на текущей веб-странице. Я не могу понять, как это сделать.
На основе этого вопроса и этот вопрос, я собрал воедино неработающий 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;
});
});