我正在使用rails发送一个ms-word文件.即,当我点击链接时,会发送来自tmp文件夹(在项目中)的doc文件.
我正在使用的代码是
@filename ="#{RAILS_ROOT}/tmp/test/test.doc"
send_file(@filename ,
:filename => "test",
:type => 'application/msword',
:disposition => 'attachment',
:streaming => 'true',
:buffer_size => '4096')
Run Code Online (Sandbox Code Playgroud)
它正在工作,但它正在发送一个空文件.文件中缺少内容.有什么建议?
ret*_*tro 14
没有send_file:streaming选项,它是:stream.你传递了错误的参数类型.:buffer_size应该是数字,而不是字符串.:stream应该是boolean,而不是string.
:stream => true,
:buffer_size => 4096,
Run Code Online (Sandbox Code Playgroud)
您只需要filename参数(如果您要发送另一个名称而不是原始文件).您使用的其他选项是默认选项(除了:type).
你能试试吗?
@filename ="#{RAILS_ROOT}/tmp/test/test.doc"
send_file(@filename, :filename => "test.doc")
Run Code Online (Sandbox Code Playgroud)