#javascript #android #html #ajax #upload
#javascript #Android #HTML #ajax #загрузка
Вопрос:
Я использую следующий код для загрузки файла, экспортированного из холста, на сервер. Он отлично работает с Chrome для Android, но загрузка завершается с ошибкой в родном браузере Android с webkit версии 534.30.
var canvas; // a canvas with an image jpg or png
var dataUrl = canvas.toDataURL();
var file = dataURLtoBlob(dataUrl); //source: https://github.com/blueimp/JavaScript-Canvas-to-Blob
var formdata = new FormData();
formdata.append("image", file);
var xhrNativeObject = new XMLHttpRequest();
// Upload progress listener
xhrNativeObject.upload.addEventListener("progress", function (event) {
if (event.lengthComputable) {
var position = event.loaded || event.position;
var total = event.total;
var xhrPercentComplete = (position / total * 100 | 0);
console.log(xhrPercentComplete, position, total);
}
}, false);
xhrNativeObject.open("post", url, true);
xhrNativeObject.onload = function (event) {
var targetResponse = event.currentTarget;
if ((targetResponse.readyState == 4) amp;amp; (targetResponse.status == 200)) {
var obj = JSON.parse(targetResponse.responseText);
console.log(obj);
} else {
console.log("error");
}
}
// send the file
xhrNativeObject.send(formdata);
Файл всегда пуст, когда он попадает на сервер.
Как я могу загрузить файл, который экспортируется из Canvas в родной браузер Android?
Комментарии:
1. @RayNicholus Файл всегда пуст, когда он попадает на сервер.
2. Это ошибка в обычном браузере Android. github.com/Widen/fine-uploader/issues/1146