除非我在浏览器中手动输入地址,为什么send_data不能正常工作?

时间:2017-10-31 22:57:05

标签: ruby-on-rails image pdf png

我正在使用Rails 5。

为什么win_data会自动显示? 当我在浏览器中手动输入时,它工作。 http://localhost:3000/docfiles/show/59f9f6a651d2f52dc080116c

我需要这个def的布局或视图吗?

这是我的硬代码(这个问题只有一个f1.png):

def show     
  data= read_binary('./upload/f1.png')
  send_data(data, :filename=>'f1.png', :type=>'image/png', :disposition=>"inline")   
end

mime_types.rb

Mime::Type.register "image/png", :png

然后在浏览器栏显示:     http://localhost:3000/docfiles/show/59f9f6a651d2f52dc080116c 错误:未定义且无图像显示。

enter image description here

但如果我[输入](没有任何扩展名),则显示图像文件。 enter image description here

1 个答案:

答案 0 :(得分:0)

在控制器def中,只需删除send_data并使用link_to_blank创建视图 (如果使用link_to我发现了同样的问题)

      %td= link_to_blank align_text(doc.filename), :controller=>"mycontroller", :action=>:listdocument, :id=>doc.id