Chrome недостаточно памяти, когда JavaScript пытается отправить файл на сервер - PullRequest
0 голосов
/ 05 июля 2019

Я создал веб-приложение, которое берет файл из формы и отправляет его на сервер с помощью ajax, а затем обновляет страницу.Он отлично работает в браузерах, кроме Chrome Mobile.Я попробовал это в Android.который показывает unable to complete previous operation due to low memory и iOS, которая возвращает ошибку.

Я хочу исправить эту проблему для пользователей, которые будут использовать это веб-приложение.таким образом, такие решения, как очистка кэша, который, кстати, не работает, и таких на самом деле не достаточно.

вот мой код JavaScript, если он помогает:

file = document.getElementById('file');

fd = new FormData();
fd.append( 'file', file.files && file.files.length > 0? file.files[0] : null);

jQuery.ajax({
    type: 'POST',
    url: url,
    processData: false,
    contentType: false,
    data: fd,
    success: function (data, status, request) {
        // update UI here
    },
    error: function (e) {
        alert("error has occurred");
    }
});

Я просто хотелдобавим, что веб-сайт прекрасно работает в Chrome-Mobile, пока я не выбираю файлы.Кроме того, я проверил его в Safari, и он работает

EDIT : причины, по которым я считаю, что это проблема, связанная с Chrome и НЕ память устройства

  • Это работаетв safari и firefox в ТО ЖЕ УСТРОЙСТВО
  • Он не работал в chrome даже после очистки кеша
  • на устройстве много свободного места и памяти.и был очищен перед запуском приложения на chrome
  • файл в вопросах имеет буквально 1,57 КБ.Извините, но я не вижу, как загрузка файла размером 1 КБ может привести к нехватке памяти

Какие вопросы в двух словах:

Есть ли обходной путь для JavaScript в Chrome?Так же, как пример, колба не работает хорошо в IE8 и более ранних версиях, поэтому использование inline-block может как-то исправить вопрос.Возможно ли, например, что FormData() не работает правильно на Chrome?если да, каковы альтернативы?вот почему я задал вопрос, и именно так я посмотрел на проблему, если она помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...