然后用户点击input type=file用户必须得到upload file + camera对话框.我正在使用这个html属性accept和capture.但在某些现代设备上,这种情况不会发生.下面是代码示例和表,它的工作与否.代码示例在Mobile Safari和中进行测试Chrome.
TL; DR:
我有5个代码示例input type file:
1.(jsfiddle)
<input type="file" accept="image/*" capture>
Run Code Online (Sandbox Code Playgroud)
2.(jsfiddle)
<input type="file" accept="image/*" capture="camera">
Run Code Online (Sandbox Code Playgroud)
3.(jsfiddle)
<input type="file" capture="camera">
Run Code Online (Sandbox Code Playgroud)
4.(jsfiddle)
<input type="file" capture>
Run Code Online (Sandbox Code Playgroud)
5.(jsfiddle)
<input type="file" accept="image/*">
Run Code Online (Sandbox Code Playgroud)
测试设备:
结果表:
我想在调查框架中启用图像(和音频和视频)上传.为此,输入文件几乎足以满足我的需要.
在某些移动浏览器<input type="file" accept="image/*;capture=camera">上,让用户选择上传现有图片或拍摄新图片是一种非常简单的方法.当然,也提供了用于在图片中查看和选择的UI.
桌面浏览器没有走这条路.相反,一些相当不错的东西似乎可以使用getUserMedia().
我没有找到任何将收集的用户媒体上传到服务器的工作示例(例如,我通过这个答案找到了https://github.com/codepo8/interaction-cam/.它显示了视频,但没有捕获到我的Firefox并没有"意识到"它,它在Safari中根本不显示视频).我不确定这有多少是特定于硬件的(我的Macbook Air的相机已经在Chrome中打开/关闭了很长时间).
是否存在某种用于上传捕获图像的polyfill,如果出现故障/访问拒绝,可以回退到简单的文件输入?
html5 ×2
android ×1
file-upload ×1
getusermedia ×1
html ×1
ios ×1
javascript ×1
mobile ×1
polyfills ×1