在我的手机web应用(不是原生应用)中,我想拍一张照片并上传,但我不想使用Adobe Flash。有什么办法可以做到吗?
当前回答
更新一下,现在的标准是:
<input type="file" name="image" accept="image/*" capture="environment">
访问面向环境(后置)的摄像头,和
<input type="file" name="image" accept="image/*" capture="user">
面向用户(前置)摄像头。要访问视频,在名称上将“视频”替换为“图像”。
在iPhone 5c上测试,运行iOS 10.3.3,固件760,工作正常。
https://www.w3.org/TR/html-media-capture/
其他回答
在iPhone iOS6和Android ICS之后,HTML5有以下标签,允许你从你的设备上拍照:
<input type="file" accept="image/*" capture="camera">
Capture可以取相机、摄像机和音频等值。
我觉得这个标签在iOS5里肯定不行,我不确定。
如果没有一些额外的机制(如Flash或允许访问硬件API的某种类型的容器),我不知道有任何方法可以从web浏览器访问手机的摄像头。
后者可以查看PhoneGap: http://docs.phonegap.com/phonegap_camera_camera.md.html
这样你至少可以在基于iOS和android的设备上访问相机。
如今,至少有了android,这相对容易。只需使用普通的文件输入标签,当用户点击它时,手机会询问用户是否想使用相机(或文件管理器等)上传文件。只要用相机拍一张照片,它就会自动添加和上传。
对iphone一无所知。也许有人能指点一下。 编辑:Iphone的工作原理类似。
输入标签的示例:
<input type="file" accept="image/*" capture="camera">
我不认为你可以——有一个W3C API草案来获取音频或视频,但还没有在任何主要的移动操作系统上实现。
唯一的选择是按照丹尼斯的建议使用PhoneGap。这意味着你需要创造一款原生应用并将其添加到手机应用商店/市场中。
更新一下,现在的标准是:
<input type="file" name="image" accept="image/*" capture="environment">
访问面向环境(后置)的摄像头,和
<input type="file" name="image" accept="image/*" capture="user">
面向用户(前置)摄像头。要访问视频,在名称上将“视频”替换为“图像”。
在iPhone 5c上测试,运行iOS 10.3.3,固件760,工作正常。
https://www.w3.org/TR/html-media-capture/