【问题标题】:Video file not loading properly in rails application视频文件无法在 Rails 应用程序中正确加载
【发布时间】:2023-03-08 09:49:01
【问题描述】:

浏览器通过直接输入浏览器的 url 加载 Rails 应用程序与通过链接访问同一页面的方式有区别吗?

当用户首次访问该站点时,我的应用程序的主页(文件:streets\show.html.erb --- 见下文)会播放一段视频 (15MB *.MOV)。但是,如果用户在应用程序的其他位置导航,然后通过单击“主页”链接(指向 root_path)返回主页,页面将加载但视频不会播放(实际上,它几乎就像页面找不到文件)。但是,如果用户刷新浏览器或通过浏览器的 url 访问页面,视频就会播放。代码如下:

Route.rb 文件包含:

root  'streets#show'

venues_controller.rb 文件包含:

class StreetsController < ApplicationController  
  def show
    @street = Street.find(1)
  end
end

streets\show.html.erb 文件包含:

<div class="video_pane">
  <%= video_tag(@street.video_link+".MOV", :controls => true, :autobuffer => true) %>
</div>

".video_link" 上面是我模型中的一个属性,用于存储视频文件的名称。查看 Rails 生成的源代码,html 正在传递视频文件的正确名称和路径:

HTML 源代码:

<div class="video_pane">

*.MOV 文件大小为 15MB,存储在“public/videos”文件夹中。我正在使用 Chrome。谢谢!

【问题讨论】:

  • 你有演示链接可以给我们看吗?
  • 实际上,我向 Heroku 的人询问了这个问题,他们建议我使用 Amazon S3 或 Cloudfront 来存储媒体,因为将这种大小的文件放在 assets 文件夹中会非常低效(即增加蛞蝓大小等)

标签: ruby-on-rails url video hyperlink


【解决方案1】:

Heroku 的人建议我使用 Amazon S3 或 Cloudfront 来存储媒体,因为将这种大小的文件放在 assets 文件夹中会非常低效(即增加 slug 大小等)这解决了我的问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-08
    • 2021-09-17
    • 2016-02-18
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2016-10-28
    • 2017-04-07
    相关资源
    最近更新 更多