【发布时间】:2021-09-29 14:04:10
【问题描述】:
目前我正在使用以下代码允许用户通过 html 表单上传图像。它会创建图像的副本,然后我将其读入 ImageMagick。当然,直接将表单中的数据直接读取到 ImageMagick 对象中会更好。但我一直没能做到。
use Image::Magick;
use MIME::Base64;
$arg = new CGI;
$fetch_photo = param('fileuploadphoto');
($data, $base64) = split /,/, $fetch_photo;
($type) = $data =~ m!data:image/(\w+);base64!;
$decoded = MIME::Base64::decode_base64($base64);
$filename = 'test.jpg';
open(my $file, '>', "$filename") or die "Error cannot open file: $file";
binmode $file;
print $file $decoded;
close($file);
$image = Image::Magick->new;
$image->Read($filename);
【问题讨论】:
-
您应该能够将
Read()方法与 blob 一起使用,$image->Read(blob => $decoded),另请参见 convert base64 string to image with image magick in perl
标签: forms perl upload imagemagick