繁体   English   中英

Rails:由apache服务时的资产404

[英]Rails: asset 404 when served by apache

我有一个生成png文件的API。

用户请求生成,然后我回复生成文件的路径。

这就是我生成URL的方式:

url_for(:controller => :anaction, :action => :download, :path => "#{@relative_dir}/face", :format => 'png'

这样产生的URL看起来像:

 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

我有误会吗?

我最终使用

    render body: IO.binread(result_file), content_type: "image/png"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM