是否可以通过网络浏览器从移动设备上传图片?

时间:2012-01-15 22:06:22

标签: asp.net ajax mobile jquery-mobile http-post

这个问题之前已被问过,但今年没有问过 - 没有具体的共识,我知道这是一个热门话题。此外,技术变化相当快,其他问题似乎只与<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/

我遇到的另一个建议是强迫用户将照片通过电子邮件发送给用户特定的电子邮件,这对我或我处理的客户并不感兴趣 - 这种做法似乎也容易受到安全漏洞的影响

有没有办法做到这一点我忽略了?如何在移动设备上显示文件对话框?

8 个答案:

答案 0 :(得分:3)

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(芒果)

答案 1 :(得分:1)

我在生产应用程序中使用jquery mobile,它运行得很好。我不用它上传文件;然而,无论如何,这并不是jquery mobile的工作。 JqueryUI的对话框和文件上传也存在问题。有许多脚本可以帮助解决这个问题。我使用ajaxfileupload:http://www.phpletter.com/Our-Projects/AjaxFileUpload/现在有更好的那些。

我离题了。就移动而言,涉及相机功能而不是纯文件上载更有用。没有人知道他们在手机上存放东西的地方,这是问题的一部分。在这种情况下,您可能想尝试一下phonegap。试试这个:http://wiki.phonegap.com/w/page/18270855/Image%20Upload%20using%20JQuery%20and%20Python

答案 2 :(得分:1)

它适用于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上测试。

答案 3 :(得分:1)

这适用于Android 2.2+。您可以上传图库中的照片或使用相机拍摄新照片进行上传。任何其他暴露类似行为的应用程序,如录音机,摄像机和音乐应用程序,通常都会提供替代方案。如果您安装了一个好的文件系统应用程序,通常会允许您上传任意文件。

在iOS上,您必须使用应用程序上传文件。由于在这个网络应用时代这是一个明显的遗漏,很有可能这个功能将在iOS的下一个主要版本中添加,尽管可能还需要几个月的时间。

答案 4 :(得分:0)

是的,我们可以通过手机上传图片, 面子书是一个现实的例子。

答案 5 :(得分:0)

试试这个:

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

这应该在大多数移动浏览器中得到支持,并且应该为用户提供选择本地文件(图像)的机会,或者一些现代设备甚至允许他们在此过程中捕获一个。

希望这有帮助!

答案 6 :(得分:-1)

使用Phonegap弥合客户端库和本机应用程序之间的差距。虽然客户端库提供了良好的操作和简单的方法来设置UI,但您可以使用phonegap的功能来执行设备特定的操作,如摄像头,扫描,呼叫等。

答案 7 :(得分:-1)

Android中的移动浏览器(看似2.2之前)和iOS不允许文件系统访问。当它在Android 2.2+上运行时,它不是完全访问权限 - 它可以通过像画廊或音乐一样击中FS的应用程序进行过滤。