首页 > 解决方案 > 使用 ActiveStorage 服务直接上传到 S3 的视频

问题描述

我正在使用ActiveStorage允许用户将视频上传到 Amazon S3 并让他们在以后查看它们。这些视频是示范课的附件。

#app/models/lesson.rb
class Lesson
  has_one_attached :video
end

流式传输视频的 html 是

<video controls class='video_size'>
  <source src=<%= rails_blob_path(lesson.video) %> type='video/mp4' />
</video>

但是,我创建了许多视频,希望允许用户观看。这些视频已经直接上传到同一个 S3 存储桶,所以我知道视频的亚马逊网址。

有没有办法使用这些已知的 url 直接创建 ActiveStorage blob,即。

@special_blob = create_blob_from_amazon_url(amazon_url)

然后在视图中

<video controls class='video_size'>
   <source src=<%= rails_blob_path(@special_blob) %> type='video/mp4' />
</video>

还是我必须使用 ActiveStorage 上传视频才能创建 blob?

标签: ruby-on-railsrails-activestorage

解决方案



推荐阅读