移动Safari浏览器的html5networking应用程序从Photos.app上传图像?

是否可以编写一个专为iOS设备(iPad,iPhone,iPod Touch)devise的HTML5 Web应用程序,该应用程序可以允许用户从文件系统上传图像?

想象一下,通过一个networking应用程序上传一张新照片到你的twitter头像。

我讨厌这个词,但是,这是不可能的 (现在)。 原因如下:

1)移动Safari不支持上传任何东西。

2)移动Safari不能访问ios组件(实际上,它可以,但只能通过phonegap )

更新: IOS 6 Safari将支持从照片库上传video和图像。

解决这个问题的另一种方法是给用户一个私人的电子邮件地址,他们可以通过电子邮件将照片发送给自动上传(例如photos+abc123@yoursite.com)。

还有一些工作要做,但是会为所有设备上的用户提供一致的体验(而非移动用户也可能会觉得方便)。

我发现了一个可以接受的工作。 使用预定义的说明在页面上添加一个mailTo链接,该说明向用户显示如何复制粘贴相机胶卷上的图像到电子邮件中。 然后,编写一个工作/脚本,收听入站电子邮件的收件箱,剥离图像并相应处理。

这不是完美的,但他们点击从Safari浏览器的链接,然后只需要去照片,复制并返回到您的应用程序。 在我的手机上试用之后,这不仅仅是一个可以接受的工作,而且可以让我无需编写应用程序即可前进。

<div data-role="collapsible" data-collapsed="true" id="uploadPicContainer" data-theme="d"> <h3>{lt='Upload Picture'}</h3> <a href="mailto:fotos@opina.com?subject={lt='My pictures of'} {$var_biz.bizname}[{$var_biz.id}]!&body={lt='To upload a picture go to your Camera Roll and copy paste an image to this area in the email. We will apply your picture after review!'}">{lt='Click here to upload pictures of'} {$var_biz.bizname}</a> </div> 

您将能够在iOS 6之后使用Safari浏览器上传照片。 虽然上述的解决方法仍然是iOS 5及以下的必要条件。

另一个本地iOS应用程序(类似于Picup或iphone-photo-picker)是Aurigma Up 。

我刚想到的一个想法是有一个用户可以粘贴到一个URL的文本框,允许用户使用Dropbox或类似的应用程序,并复制Dropbox文件的公共URL。 然后服务器将能够从保pipe箱服务器下载。

我需要支持除图像以外的文件types,所以它听起来像picupapp不会为我工作。

iOS 6.0上的Safari是第一个添加对<input type="file"> ,允许您:

  • 拍一个新的video或照片
  • 从库中select一个video或照片

以下是它在iOS10上的外观:

iOS 10文件输入没有过滤器

iOS9引入了iCloud Drive更多选项,包括Dropbox 。 iOS 6到8只有前两个选项。

您可以使用accept="image/*"属性将文件types限制为照片。

<input type="file" accept="image/*" >会将选项限制为照片:

iOS 10文件输入的照片

在Android方面, Android 2.2+是支持上述代码的第一款。

免责声明:图片来自Pipe ,负责video录制,我是CTO

如果您仍在使用iOS5,请考虑使用iCab Mobile。 得到它为我的iPad和(至less对我来说)file upload工作正常。

问候,Piotr

仅适用于iOS> = 6

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

“捕捉”不会改变iOS的任何东西,但它仍然是其他设备(显然是Android的,见评论)有用。