我有一个生成png文件的API。
用户请求生成,我回复了生成文件的路径。
这是我生成网址的方式:
url_for(:controller => :anaction, :action => :download, :path => "#{@relative_dir}/face", :format => 'png'
这是一个看起来像这样的网址:
http://0.0.0.0:3000/anaction/aging/download/%2FTMP_20161128204315_346482_695%2Fface.png
应由
处理 def download
send_file "#{Rails.public_path}/#{params[:path]}.#{params[:format]}"
end
根据我的路线
get '/anaction/aging/download/:path' => 'mpsynthesizer_aging#download'
它在我的开发环境中就像我的nginx服务器上的魅力一样,但在我的apache服务器上失败了。
我得到一个普通的apache HTTP400错误,似乎请求永远不会转发到rails。
我使用rails 4.2.6
有什么我误解了吗?
答案 0 :(得分:0)
我最终使用
render body: IO.binread(result_file), content_type: "image/png"