#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, он работает довольно хорошо.
Я знаю, что это старая тема, но я надеюсь, что мой ответ поможет другим выйти из борьбы.