gpt4 book ai didi

ruby-on-rails - 如何使用 Prawn 将 base64 字符串转换为 PNG 而无需在 Rails 中的服务器上保存

转载 作者:数据小太阳 更新时间:2023-10-29 07:36:31 25 4
gpt4 key购买 nike

所以我尝试使用 Prawn gem 将 Canvas 的 PNG 图像嵌入到 PDF 中。 Base64 字符串是使用 canvas 的 toDataURL() 函数生成的。由于仅需要 PDF 格式的图像,因此我试图避免将其保存在服务器上。 Params[:base64string] 正确传递给服务器。

但是,我正在尝试使用

image = Prawn::Images::PNG.new(base64string)

创建图像但我得到 NoMethodError: undefined method `unpack' for nil:NilClass。

知道我做错了什么或应该如何正确完成吗?

最佳答案

找到 here :

Prawn 需要文件路径而不是编码图像数据。您可以使用临时文件:

require 'prawn'
require 'tempfile'
require 'active_support' # for base64

Prawn::Document.generate('/tmp/test.pdf') do
file = Tempfile.new('image')
file.write ActiveSupport::Base64.decode64(image)
file.close

image file.path
end

希望这对您有所帮助!

关于ruby-on-rails - 如何使用 Prawn 将 base64 字符串转换为 PNG 而无需在 Rails 中的服务器上保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13256723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com