我们正在为移动设备创建一个HTML5网站,并且需要通过网络浏览器访问相机而不是本机应用。我们在iOS中无法完成这项工作。有人知道这个解决方案吗?
答案 0 :(得分:122)
你可以试试这个:
<input type="file" capture="camera" accept="image/*" id="cameraInput" name="cameraInput">
但必须是iOS 6 + 才能正常工作。这将为您提供一个很好的对话,让您选择拍照或从您的专辑上传一张照片,即
可以在这里找到一个例子: Capturing camera/picture data without PhoneGap
答案 1 :(得分:29)
截至2015年,现在 正常运作 。
<input type="file">
这将要求用户上传任何文件。在iOS 8.x上,这可以是相机视频,相机照片或照片库中的照片/视频。
<input type="file" accept="image/*">
如上所述,但仅限于从相机或库中上传到照片,不限制视频。
答案 2 :(得分:25)
在iOS6中,Apple通过<input type="file">
标记支持此功能。我在Apple的开发者文档中找不到有用的链接,但有一个例子here。
看起来像叠加层和更高级的功能尚不可用,但这应该适用于很多用例。
编辑:The w3c has a spec that iOS6 Safari seems to implement a subset of.明显缺少capture
属性。
答案 3 :(得分:10)
我认为这个有效。 录制视频或音频;
<input type="file" accept="video/*;capture=camcorder">
<input type="file" accept="audio/*;capture=microphone">
或(新方法)
<device type="media" onchange="update(this.data)"></device>
<video autoplay></video>
<script>
function update(stream) {
document.querySelector('video').src = stream.url;
}
</script>
如果不是,可能适用于ios6,可以在get user media找到更多详细信息
答案 4 :(得分:4)
Picup应用是一种从HTML5页面拍摄照片并将其上传到服务器的方法。它需要在服务器上进行一些额外的编程,但除了PhoneGap之外,我还没有找到另一种方法。
答案 5 :(得分:0)
这个问题已经存在了几年,但在那个时候,一些额外的可能性已经发展,比如直接访问相机,显示预览和捕捉快照(例如,用于QR码扫描)。
这篇Google Developers文章深入解释了所有(?)如何将图像/相机数据导入Web应用程序的方法,从“无处不在”(即使在桌面浏览器中)到“仅工作”在现代,最新的移动设备与相机“。以及许多有用的提示。
解释方法: