Perl JSON LWP Base64解码图像在尝试打开时无效

时间:2013-11-22 19:05:18

标签: json perl http-post uri lwp

我是LWP,URI,Base64的新手。我正在使用LWP将包含数组的json字符串从perl脚本发布到另一个perl脚本。数组中的一个值是base64编码的jpg。

我对图像进行编码

open (IMAGE, "./flower.jpg") or die "$!";
$raw_string = do{ local $/ = undef; <IMAGE>; };
$encoded = encode_base64( $raw_string );
$encoded = uri_escape($encoded);

在另一个脚本中,我解码图像并将其保存到目录中。保存文件后的文件比原来的文件稍微大一些(大几kb)。

$decoded = decode_base64($item->{'FILE'});
open my $fh, '>', "$path/flower.jpg" or die $!;
binmode $fh;
print $fh $decoded;
close $fh;

同样在第二个脚本中,我将json字符串传回,并在第一个脚本中基本上打印返回的内容。一切似乎都按预期返回/打印。当我尝试打开文件时,我只是得到一个标准的OS消息,说明无法打开文件。我现在尝试使用pdf和jpg。我知道我在某处丢失了某些东西。谢谢你的帮助!

0 个答案:

没有答案