ruby-on-rails – Rails send_data抛出“UTF-8中的无效字节序列
发布时间:2020-12-16 22:19:05 所属栏目:百科 来源:网络整理
导读:我使用Rails生成带有可执行文件wkhtmltopdf的PDF,然后使用send_data将结果作为PDF文件发送给用户. view = ActionView::Base.new(ActionController::Base.view_paths,{}) html = "h1A heading/h1" pdfdata = `echo '#{html}' | #{RAILS_ROOT}/lib/pdf/wkhtmlt
我使用Rails生成带有可执行文件wkhtmltopdf的PDF,然后使用send_data将结果作为PDF文件发送给用户.
view = ActionView::Base.new(ActionController::Base.view_paths,{}) html = "<h1>A heading</h1>" pdfdata = `echo '#{html}' | #{RAILS_ROOT}/lib/pdf/wkhtmltopdf-i386 - -` send_data pdfdata,:filename => 'readthis.pdf',:disposition => 'attachment',:type => "application/pdf" PDF正确生成,但Rails从send_data方法引发ArgumentError(UTF-8中的无效字节序列).将其更改为发送“foobar”为:type => text / html使它工作,所以它绝对有一个pdfdata的问题. 我不明白send_data是不是应该发送二进制数据?当然这是无效的UTF-8.还是我错过了什么? 谢谢 解决方法
Rails假定UTF-8.明确地说明它是二进制数据解决问题.谢谢你的帮助.
pdfdata.force_encoding('BINARY') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |