加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在通过rails控制器检索的浏览器中呈现PDF

发布时间:2020-12-16 20:46:12 所属栏目:百科 来源:网络整理
导读:我有一个使用 Recurly的rails应用程序.我正在尝试下载PDF并在浏览器中呈现它.我目前有一个链接: link_to 'Download',get_invoice_path(:number = invoice.invoice_number) 关联的控制器具有get_invoice方法,如下所示: def get_invoice begin @pdf = Recurl
我有一个使用 Recurly的rails应用程序.我正在尝试下载PDF并在浏览器中呈现它.我目前有一个链接:
link_to 'Download',get_invoice_path(:number => invoice.invoice_number)

关联的控制器具有get_invoice方法,如下所示:

def get_invoice
    begin
      @pdf = Recurly::Invoice.find(params[:number],:format => 'pdf')
    rescue Recurly::Resource::NotFound => e
      flash[:error] = 'Invoice not found.'
    end
  end

当我点击链接时,我得到了在我的控制台中以二进制形式呈现的PDF.如何在浏览器中渲染PDF?

解决方法

假设PDF保存在内存中,请使用 send_data在浏览器中发回数据流.
def get_invoice
  @pdf = Recurly::Invoice.find(params[:number],:format => 'pdf')
  send_data @pdf,filename: "#{params[:number]}.pdf",type: :pdf
end

如果文件存储在某处(但似乎不是这种情况),请使用send_file.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读