小编Col*_*ner的帖子

通过rails到Ipad提供mp4文件的正确方法是什么?

我们在使用默认的rails 3应用程序在ipad上播放mp4时遇到问题.在Chrome和桌面上的其他浏览器中查看路径时,可以正确提供mp4.

这是我们的代码:

file_path = File.join(Rails.root, 'test.mp4')
send_file(file_path, :disposition => "inline", :type => "video/mp4")
Run Code Online (Sandbox Code Playgroud)

我们点击0.0.0.0:3000/video/test.mp4观看视频,并在ipad上显示无法播放图标.我们已经尝试修改各种标题"Content-Length","Content-Range"等,但它们似乎不会影响最终结果.

我们也尝试过在某种程度上使用send_data

File.open(file_path, "r") do |f|
    send_data f.read, :type => "video/mp4"
end 
Run Code Online (Sandbox Code Playgroud)

在Ipad上查看时,同一视频在公共文件夹中正常运行.

通过rails到Ipad提供mp4文件的正确方法是什么?

mp4 ruby-on-rails ipad

10
推荐指数
1
解决办法
4622
查看次数

EOFError:使用selenium android WebDriver文件结束时出错

我正在尝试让Selenium Android WebDriver与Rspec合作,以便通过Android模拟器测试我们的Rails移动应用程序.

我按照设置说明操作并使用以下代码运行测试:

driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"

element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit

puts driver.title

driver.quit
Run Code Online (Sandbox Code Playgroud)

Android模拟器上的WebDriver运行前两个命令,但是当它到达时element = driver.find_element(:name, 'q'),总是失败EOFError: end of file reached.

我发现无论第一个出现什么错误都会发生错误navigate,因此它似乎不是该find_element方法的问题.

例如,如果我将上面的代码替换为:

driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"
driver.navigate.to "http://stackoverflow.com"
driver.quit
Run Code Online (Sandbox Code Playgroud)

然后我仍然在第二个navigate命令上得到相同的错误.

我已经尝试过尝试各种超时,认为问题与连接有某种关系,但最终结果总是一样的.第一个导航命令似乎正常工作,因为模拟器将打开google.com,但之后不会发生任何事情.

为什么我收到此错误?我怎样才能阻止它以便我的测试可以运行?

ruby selenium rspec android-emulator selenium-webdriver

7
推荐指数
0
解决办法
933
查看次数