Android Выберите файл для загрузки - проблема с документами, файлами PDF и т. Д. - PullRequest
1 голос
/ 20 февраля 2012

Я создал загрузчик файлов, используя jQuery и скрытый iFrame.Это работает в браузерах, мне это нужно на ПК.Однако при тестировании этого на телефоне Android я обнаружил следующую проблему.Для простоты я тестирую это с простой демонстрацией загрузки файла.

Я использую собственный веб-браузер, который идет с Android, чтобы открыть: http://encodable.com/uploaddemo/

Я загружаю страницу вбраузер и выберите выбрать файл.Это отображает приложения на моем телефоне, которые способны выбирать файлы.У меня установлен Astro File Manager, поэтому я использую его.У меня есть несколько тестовых изображений и тестовых документов.Если я выберу изображение, все в порядке, и я могу успешно загрузить изображение.Если я выберу документ, он не сможет правильно указать местоположение файла (хотя он указан в текстовом поле), потому что, когда я нажимаю «Начать загрузку», появляется ошибка «Пожалуйста, заполните«Обязательные элементы», как если бы файл не был выбран.

Единственное отличие, которое я вижу, это пути, используемые для изображения по сравнению с документом: -content: // media / external / images / media /11484 / image.jpg -file: ///mnt/sdcard/Test%20Files/pdf.pdf/

Возможно, разрешение связано?Я также пробовал FileExpert и OfficeSuite для выбора документов, но та же проблема сохраняется - есть ли другой файловый браузер, который проходит другой путь?

Форматы файлов, которые работают и используют «content: //»: «bmp», 'gif', 'jpg', 'jpeg', 'png' Форматы файлов, которые не работают и используют "file: ///": 'txt', 'rtf', 'doc', 'docx', 'pdf ',' tif ',' tiff '

Любые указатели, высоко ценится.

1 Ответ

1 голос
/ 25 марта 2013

Проблема связана с доступом к пути к файлу.Обычно в jQuery вы используете $(this).attr('value') или $(this).val(), чтобы получить значение пути к файлу в текстовом поле.Для моего тестового примера, с изображениями, которые работают нормально, и вы можете получить путь к файлу, но с документами вы ничего не получите.Странный.Понятия не имею почему.Следовательно, это означает, что при отправке данных через форму для документа ничего не отправляется и ничего не загружается.

...