在我的手机web应用(不是原生应用)中,我想拍一张照片并上传,但我不想使用Adobe Flash。有什么办法可以做到吗?
当前回答
我不认为你可以——有一个W3C API草案来获取音频或视频,但还没有在任何主要的移动操作系统上实现。
唯一的选择是按照丹尼斯的建议使用PhoneGap。这意味着你需要创造一款原生应用并将其添加到手机应用商店/市场中。
其他回答
如果没有一些额外的机制(如Flash或允许访问硬件API的某种类型的容器),我不知道有任何方法可以从web浏览器访问手机的摄像头。
后者可以查看PhoneGap: http://docs.phonegap.com/phonegap_camera_camera.md.html
这样你至少可以在基于iOS和android的设备上访问相机。
我不认为你可以——有一个W3C API草案来获取音频或视频,但还没有在任何主要的移动操作系统上实现。
唯一的选择是按照丹尼斯的建议使用PhoneGap。这意味着你需要创造一款原生应用并将其添加到手机应用商店/市场中。
如今,至少有了android,这相对容易。只需使用普通的文件输入标签,当用户点击它时,手机会询问用户是否想使用相机(或文件管理器等)上传文件。只要用相机拍一张照片,它就会自动添加和上传。
对iphone一无所知。也许有人能指点一下。 编辑:Iphone的工作原理类似。
输入标签的示例:
<input type="file" accept="image/*" capture="camera">
好吧,有一个新的HTML5功能来访问本机设备摄像头-“getUserMedia API”
注意:HTML5可以在Android设备上处理网页上的照片捕获(至少在Honeycomb OS运行的最新版本上是这样;但它不能在iphone上运行,只能在iOS 6上运行。
iOS 6+和Android 2.2+上的Safari和Chrome支持HTML Media Capture,允许您使用设备的相机或选择现有的相机拍照:
<输入类型=“文件” 接受=“图像/*”>
以下是它在iOS 10上的工作原理:
Android 3.0+和iOS10.3+上的Safari也支持capture属性,用于直接跳转到相机。
<输入类型=“文件” 接受=“图像/*” 捕获>
capture="camera" (String)和accept="image/*;capture=camera" (Parameter)是旧规范的一部分,并被capture (Boolean)所取代。
支持文档:这本2013年O'Reilly的书和我的测试
推荐文章
- 使伸缩项目正确浮动
- 形式内联内的形式水平在twitter bootstrap?
- 自定义元素在HTML5中有效吗?
- 如何触发自动填充在谷歌Chrome?
- 创建圈div比使用图像更容易的方法?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?
- 在网页上用鼠标模拟震颤(例如帕金森病)?
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何改变文本区域的边框颜色:焦点
- 我如何设置背景颜色为文本的宽度,而不是整个元素的宽度,使用CSS?
- 如何删除和清除所有的本地存储数据
- 强制打开“另存为…”弹出打开文本链接点击PDF在HTML
- 如何修改标签文本?
- 在HTML中还有其他有用的空格码吗,比如半空格的 , em-spaces, en-spaces等等?
- 输入触发器按钮单击