Можно ли загрузить изображение через веб-браузер с мобильного устройства? - PullRequest
10 голосов
/ 16 января 2012

Этот вопрос задавался ранее, но не в этом году - нет конкретного консенсуса, и я знаю, что это горячая тема. Кроме того, технология меняется довольно быстро, и другие вопросы, похоже, касаются только использования <input type="file>. Я ищу более многословный современный способ обработки этих запросов. Хотя я занимался разработкой в ​​ASP.NET C # MVC3, я изучал погоду, ASP.NET MVC4 Mobile будет поддерживать загрузку файлов с мобильных устройств. Из того, что я прочитал, это не так, или это не было описано в новых заметках о выпуске.

http://www.asp.net/vnext/overview/whitepapers/whats-new

http://www.asp.net/mvc/tutorials/mvc-4/aspnet-mvc-4-mobile-features

Из проведенного мною исследования jQuery-Mobile кажется довольно бесполезным.

http://www.parorrey.com/blog/jquery-mobile/file-input-field-uploading-using-jquery-mobile-framework-form-submission-with-ajax-disabled/

http://forum.jquery.com/topic/jquery-mobile-seems-to-clobber-ability-to-upload-files-via-forms

Пример, который был опубликован, не работал на моем iPhone, так как <input type="file" все еще существовал и поэтому был выделен серым как недоступный.

http://filamentgroup.com/examples/jquery-custom-file-input/

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

IS Есть ли способ сделать это, что я упустил из виду? Как я могу показать диалог файлов на мобильном устройстве?

Ответы [ 8 ]

3 голосов
/ 28 февраля 2012

Браузер Safari не поддерживает загрузку файлов. Вы можете увидеть это, посетив многие мобильные сайты в реальном браузере, НО фактические приложения позволят это.

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

http://docs.phonegap.com/en/1.4.1/phonegap_file_file.md.html#FileTransfer

Также поддерживается:

  • Android
  • BlackBerry WebWorks (ОС 5.0 и выше)
  • IOS
  • Windows Phone 7 (Mango)
1 голос
/ 15 февраля 2012

Это прекрасно работает на Android 2.2+.Вы можете загружать фотографии из вашей галереи или использовать камеру, чтобы сделать новый снимок для загрузки.Любые другие приложения, которые демонстрируют похожее поведение, такие как диктофоны, видеокамеры и музыкальные приложения, обычно предлагают альтернативы.Если у вас установлено хорошее приложение для файловой системы, это обычно позволяет загружать произвольные файлы.

В iOS для загрузки файлов необходимо использовать приложение.Поскольку в эпоху веб-приложений это явное упущение, весьма вероятно, что эта функция будет добавлена ​​в следующем основном выпуске iOS, хотя, вероятно, еще через несколько месяцев.

1 голос
/ 28 января 2012

У меня работает на Android.

Вы можете посмотреть, как это делает facebook: https://m.facebook.com/home.php?refsrc=http%3A%2F%2Fm.facebook.com%2F&refid=8&_rdr

<input type="file" name="file1" data-sigil="photo-input" />

Попробуйте зайти на www.tinypic.com и загрузить фотографию. Я могу проверить на iPhone сегодня вечером.

1 голос
/ 16 января 2012

Я использую jquery mobile в производственном приложении, и оно работает просто отлично.Я не делаю загрузку файлов с ним;тем не менее, это не работа JQuery Mobile в любом случае.У JqueryUI есть проблемы с его диалогом и загрузкой файлов.Есть ряд сценариев, которые помогают с этим.Я использую ajaxfileupload: http://www.phpletter.com/Our-Projects/AjaxFileUpload/ хотя сейчас есть и лучшие.

Я отвлекся.Что касается мобильных устройств, более полезно задействовать функции камеры, а не чистую загрузку файлов.Никто не знает, где они хранят вещи на своих телефонах, что является частью проблемы.В этом случае вы можете попробовать пробел в телефоне.Попробуйте это: http://wiki.phonegap.com/w/page/18270855/Image%20Upload%20using%20JQuery%20and%20Python

0 голосов
/ 28 февраля 2012

Попробуйте это:

<input type="file" accept="image/*;capture=camera">

Это должно поддерживаться в большинстве мобильных браузеров и должно предлагать пользователю возможность выбрать локальный файл (изображение) или одно из современных устройств, даже позволяющее им захватить один в процессе.

Надеюсь, это поможет!

0 голосов
/ 23 января 2012

Да, мы можем загрузить изображение с мобильного телефона, Face book - живой пример для этого.

0 голосов
/ 17 января 2012

Мобильные браузеры в Android (кажется, до 2.2) и iOS не разрешают доступ к файловой системе. И когда это происходит на Android 2.2+, это не полный доступ - он фильтруется через приложения, которые попадают в FS, такие как Галерея или Музыка.

0 голосов
/ 17 января 2012

Используйте Phonegap, чтобы преодолеть разрыв между клиентскими библиотеками и собственными приложениями. В то время как библиотеки на стороне клиента обеспечивают удобство и простоту настройки пользовательского интерфейса, вы можете использовать функцию phonegap для выполнения определенных операций устройства, таких как камера, сканирование, вызов и т. Д.

...