Можно ли загружать изображение через веб-браузер с мобильного устройства?

Этот вопрос задавали раньше, но не в этом году - нет конкретного консенсуса, и я знаю, что это горячая тема. Кроме того, технология изменяется довольно быстро, и другие вопросы, похоже, связаны только с использованием <input type="file>. Я ищу более подробный современный способ обработки этих запросов. Хотя я развивался в ASP.NET С# 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/

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

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

Ответ 1

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

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

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

Кроме того, он поддерживается в:

  • Android
  • BlackBerry WebWorks (OS 5.0 и выше)
  • IOS
  • Windows Phone 7 (Mango)

Ответ 2

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

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

Ответ 3

Он работает для меня на 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 сегодня вечером.

Ответ 4

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

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

Ответ 5

Да, мы можем загружать картинку через мобильный, Книга для лица - живой пример этого.

Ответ 6

Попробуйте следующее:

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

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

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

Ответ 7

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

Ответ 8

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