【问题标题】:Using Webcam in Ruby on Rails在 Ruby on Rails 中使用网络摄像头
【发布时间】:2021-10-12 06:29:04
【问题描述】:

我有一个带有注册页面的 Rails 应用程序,用户可以在其中填写详细信息。我想为用户的图片添加一个字段:而不是上传它,我希望用户使用他们的网络摄像头拍照。图片应该保存到磁盘和数据库中更新其名称和路径。

我该怎么做?我知道存储之前由paperclip 处理,但现在使用Active Storage 完成,但是使用网络摄像头呢?谷歌搜索“ruby gem 网络摄像头”并将结果限制在去年的结果令人惊讶地没有帮助,大多数结果都与色情相关。

【问题讨论】:

    标签: ruby-on-rails ruby webcam ruby-on-rails-6 rails-activestorage


    【解决方案1】:

    如果您想使用网络摄像头,那么您需要在 JavaScript 中处理这方面的事情。您需要使用getUserMedia API 来访问摄像头流。完成后,您可以通过将相机中的帧写入画布来捕获静止图像,然后使用 Canvas.toDataBlob 将画布导出到图像。

    有些浏览器会暴露更多的access to the camera for capturing images,但你最终还是会得到一个 blob。

    完成后,您可以将其添加到 FormData object 并提交到您的 Rails 应用程序,此时 Active Storage 可以接管存储文件。

    【讨论】:

    • 没有任何相关的宝石可以做到这一点吗?
    • 这一切都是在前端,在浏览器中完成的,而Ruby不在前端运行。如果有宝石的话,那就是 Opal Ruby,所以它可以转换为 JS,但我不知道有一个。
    • ruby 本身没有,rails 应用程序确实处理前端
    • 运行在前端的还是 JS ?‍♂️
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多