Подтвердить что ты не робот

Android-браузер обновляет страницу после выбора файла через элемент ввода

У меня есть мобильная веб-страница, которая включает элемент ввода типа "файл", чтобы пользователи могли загружать файлы изображений на сервер. Страница отлично работает на iOS и на Nexus 4 (Android 4.2.1) в браузере Chrome.

Когда я использую Samsung S3 (Android 4.0.4) с браузером по умолчанию, нажимая кнопку "Выбрать файл", открывается диалоговое окно выбора изображения, как и ожидалось, однако после того, как я выберу изображение и закрою диалог, веб-страница обновится, поэтому я теряю изображение, которое было выбрано. Кто-нибудь еще видел это поведение? Любые предложения об обходном пути?

Элемент ввода, который я использую, является довольно стандартным и выглядит следующим образом:

<input id="addPhoto" type="file" accept="image/*"/>

Даже без атрибута accept я получаю ту же проблему.

4b9b3361

Ответ 1

Посмотрите эту проблему:

https://code.google.com/p/android/issues/detail?id=53088

В основном, похоже, что это происходит:

  • У Android недостаточно памяти для приложения выбора файла или камеры.

  • Он освобождает память, закрывая браузер

  • После закрытия выбора файла/камеры браузер снова открывается, вызывая обновление страницы, что делает весь файл без использования упражнения.

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

Ответ 2

У меня такая же проблема на телефоне с Andriod 2.3.6. У одного из моих коллег нет проблемы на его телефоне (не помню, что это работает). Он предположил, что это проблема памяти. Если на телефоне недостаточно доступной памяти, браузер может быть вынужден перезагрузить страницу после выбора изображения, которое победит цель. Я еще не смог подтвердить, что это проблема, но у моего телефона значительно меньше доступной памяти, чем у него.