base64与校验和解码并生成图像

时间:2015-10-07 14:14:10

标签: ruby-on-rails ruby base64

我正在使用Ruby On Rails,并访问一个API,它返回我的baseencoded字符串和png类型图像的校验和。

然而,当我尝试从此创建图像时,它没有被创建,我看到一条消息说图像可能已损坏。我可能正确地做到了这一点。

以下是关于编码字符串和校验和的更多描述

encoded string is form of a Base64-encoded, GZipcompressed
string.

checksum is An MD5 hash to validate the above data, in the form of a
Base64-encoded string.

这是我的方法

    file = File.new(path,"wb")
    file.write Base64.decode64("encodedtext")
    file.close
我做错了什么?

但是我不确定校验和扮演什么角色,任何人都可以建议我可能做错了什么,谢谢。

1 个答案:

答案 0 :(得分:1)

我认为您需要在解码之前解压缩数据,否则您将尝试解码压缩数据,从而给您带来错误。

您可能必须为此解决方案安装Zlib gem。

require 'zlib'

decoded_string = Base64.decode64(encodedtext)
gzipped_string = Zlib::GzipReader.new(decoded_string)

file = File.new(path, "wb")
file.write gzipped_text.read
file.close

您可以通过GZip herehere

找到更多帮助