Сбой загрузки файлов Ajax в родном браузере Android (Webkit 534.30)

#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