在Ruby on Rails中使用Webcam



我有一个rails应用程序与注册页面,在那里用户填写表单与他们的详细信息。我想为用户的图片添加一个字段:而不是上传它,我想让用户使用他们的网络摄像头拍照。图片应该被保存到磁盘上,DB要用它的名称和路径进行更新。

我该怎么做?我知道存储以前是由paperclip处理的,但现在是使用Active Storage完成的,但是使用网络摄像头呢?谷歌"红宝石宝石网络摄像头";而将结果局限于去年却出人意料地毫无帮助,因为大多数结果都与色情有关。

如果你想使用网络摄像头,那么你需要在JavaScript中处理这方面的事情。您需要使用getUserMediaAPI来访问相机流。一旦你得到了这一点,你可以捕获一个静态通过写入帧从相机到画布,然后导出画布与Canvas.toDataBlob的图像。

一些浏览器为相机提供了更多的访问权限来捕获图像,但最终你还是会得到一个斑点。

一旦你得到了,你可以将它添加到FormData对象并提交给你的Rails应用程序,此时Active Storage可以接管存储文件。