【发布时间】:2019-04-28 01:01:20
【问题描述】:
我想从相机中捕捉照片并将其上传到服务器。我的目标环境是用于 Hololens 的 EDGE 浏览器和 PC 浏览器(至少是最新版本的 Chrome 或 Firefox)。
我尝试过使用 HTML5 <input type="file" accept="image/*" capture="camera"> 但是在 Hololens Edge 和 PC Chrome 中,捕获属性都被忽略了。(这在 Chrome for Android 中应该有效)
我试过getUserMedia。
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({ audio: true, video: { width: 1280, height: 720 } },
function(stream) {
var video = document.querySelector('video');
video.srcObject = stream;
video.onloadedmetadata = function(e) {
video.play();
};
},
function(err) {
console.log("The following error occurred: " + err.name);
}
);
} else {
console.log("getUserMedia not supported");
}
然后:从正在播放的视频中获取图片。
但是getUserMedia 是一个强大的功能,我需要安全来源。它使用localhost 播放,但当我使用localIP 时不会播放。
根据chromium
“安全来源”是与以下至少一项匹配的来源 (方案、主机、端口)模式:
(https, *, *)
(wss, *, *)
(*,本地主机, *)
(*, 127/8, *)
(*, ::1/128, *)
(文件, *, —)
(chrome-extension, *, —)
我该如何解决这个问题?
【问题讨论】:
标签: javascript photo capture hololens