2017-03-02 59 views
0

我有我的路由位置:西纳特拉(红宝石)的应用程序不转让MP4文件正确

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

而且我对网页的HTML应播放的视频如下:

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

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

+0

什么,当你直接导航到/ fortytwo发生什么呢? – eiko

+1

这可能会对您有所帮助:http://stackoverflow.com/a/37570158/295671 – james246

+0

这是一样的。一个简单的禁用视频播放器,拒绝​​播放任何东西。 – Sessho

回答

0

您发布的代码工作正常,所以问题必须在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