我想取一个已经上传的图像,并将其渲染为一个小变体,然后将其输出为base64字符串。
我似乎不能得到转换后的图像,当我尝试这样做时,我一直得到原始的未处理图像:
image.attachment.variant( resize_to_fill: [10, 10], convert: :png ).processed.blob.open do |tempfile|
puts 'data:image/png;base64,' + Base64.strict_encode64(tempfile.read)
end这将返回完整图像的数据,而不是10x10的小正方形图像。似乎调用.blob会返回原始图像,而不是处理后的图像。
发布于 2021-10-28 02:29:07
试试这个:
variation = ActiveStorage::Variation.new(resize_to_fit: [10, 10])
image.open do |input|
variation.transform(input, format: "png") do |output|
puts 'data:image/png;base64,' + Base64.strict_encode64(output.read)
end
endhttps://stackoverflow.com/questions/64594400
复制相似问题