Загрузка HTML-файла не показывает галерею на Android

#android #html #file-upload #android-gallery

#Android #HTML #загрузка файла #android-галерея

Вопрос:

Я бы хотел, чтобы мое PHP-приложение принимало фотографию, выбранную из галереи мобильного пользователя. Я тестирую на Android 4.4.4 с помощью Chrome. Это моя форма:

 <form enctype="multipart/form-data" action="index.php" method="POST">
  <input type="hidden" name="MAX_FILE_SIZE" value="20000000" />
  <input type="submit" value="Add" />
</form>
  

Я пробовал три разных type="file" ввода, и ни один из них не предоставляет мне галерею в качестве опции:

   <input name="userfile" type="file" />
  

Опции: камера, видеокамера, диктофон и документы

   <input name="userfile" type="file" accept="images/*" />
  

Параметры: камера и документы

   <input name="userfile" type="file" accept="images/*" capture />
  

Идет прямо в камеру.

Есть ли какой-нибудь простой способ получить галерею в качестве опции или мне нужно сделать что-то обходное, используя JavaScript? Спасибо за ваши ответы.

Комментарии:

1. «Галерея» — это приложение. Я думаю, что теперь вы получаете средства выбора файлов для папок. Очень разные. Для того, что вы хотите, вам нужно запустить это приложение. И это приложение должно сохранять результаты для вашей страницы. Ну, я не знаю, как это сделать. Или камера — это приложение?

2. Php-приложение, использующее браузер Chrome? Вы имеете в виду новый Chromium WebView?

3. Нет, я имею в виду, что это PHP-приложение, работающее на обычном веб-сервере, и я подключаюсь к нему с помощью Chrome, работающего на Android. Когда я подключаюсь к веб-серверу с помощью настольного браузера, он работает так, как я и ожидал.

4. Вы имеете в виду php-скрипты на веб-сервере.

Ответ №1:

Попробуйте использовать <input name="userfile" type="file" accept="image/*" />

вместо <input name="userfile" type="file" accept="images/*" /> .

Это работает для меня.

Ответ №2:

Оказывается, это известная ошибка в Android> = 4.4. Мой код работает так, как ожидалось, в iOS.

Ответ №3:

Я нашел решение на своем Android-устройстве. Google Chrome не имел права доступа к галерее (файлам и мультимедиа). Если вы включите его через Настройки-> Приложения-> Chrome, он работает довольно хорошо.

Я знаю, что это старая тема, но я надеюсь, что мой ответ поможет другим выйти из борьбы.