【问题标题】:Sinatra(Ruby) app does not transfer mp4 files correctlySinatra(Ruby) 应用程序无法正确传输 mp4 文件
【发布时间】:2017-03-04 14:50:58
【问题描述】:

我的路线在这里:

get "/fortytwo" do
  send_file("42.mp4")
end

播放视频的页面的 HTML 如下:

<body>
    <video controls autoplay>
        <source src="fortytwo" type="video/mp4">
    </video>
</body>

但是在加载页面时,会显示一个禁用的视频播放器,它不会播放任何媒体。使用“dl=1”链接到上传到 Dropbox 的视频副本非常有效。

【问题讨论】:

  • 直接导航到 /fortytwo 会发生什么?
  • 这可能会有所帮助:stackoverflow.com/a/37570158/295671
  • 是一样的。一个简单的禁用视频播放器,拒绝​​播放任何内容。
  • @james246 尝试使用您的解决方案对其进行修补,但仍然无法正常工作。还有其他想法吗?

标签: ruby html sinatra


【解决方案1】:

您发布的代码运行良好,因此问题肯定出在 Sinatra 以外的其他地方。也许是CORS problem,您的 HTML 文件在哪里?它应该与运行 Sinatra 的域相同。

我重新制作了整个程序(如下)并且它正在工作:

require 'sinatra'

get "/fortytwo" do
  send_file("42.mp4")
end

get "/" do
  page = <<-endfile
  <body>
  <video controls autoplay>
  <source src="fortytwo" type="video/mp4">
  </video>
  </body>
  endfile
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多