Browse Source

* LDV::Filebin : threat djvu and unsupported images as binary

master
Alex 'AdUser' Z 3 years ago
parent
commit
95d45dde0f
  1. 26
      lib/LDV/Filebin.pm

26
lib/LDV/Filebin.pm

@ -95,18 +95,20 @@ sub save {
bytes => $conf->{image_maxmem}, bytes => $conf->{image_maxmem},
); );
# query image # query image
my $image = Imager->new(file => $upload->asset->path) if (my $image = Imager->new(file => $upload->asset->path)) {
or die(Imager->errstr() . "\n"); $file->{ftype} = 'i';
$file->{ftype} = 'i'; $file->{fext} = $image->tags(name => 'i_format'),
$file->{fext} = $image->tags(name => 'i_format'), $file->{res_w} = $image->getwidth,
$file->{res_w} = $image->getwidth, $file->{res_h} = $image->getheight,
$file->{res_h} = $image->getheight, # make thumb
# make thumb my ($th_w, $th_h) = ($conf->{thumbs_size} =~ m/(\d+)x(\d+)/oi);
my ($th_w, $th_h) = ($conf->{thumbs_size} =~ m/(\d+)x(\d+)/oi); my $thumb = $image->scale(xpixels => $th_w, ypixels => $th_h, type => 'min');
my $thumb = $image->scale(xpixels => $th_w, ypixels => $th_h, type => 'min'); my $path = $self->_file_path("${time}_tn", $conf->{thumbs_ext}, 'fullpath');
my $path = $self->_file_path("${time}_tn", $conf->{thumbs_ext}, 'fullpath'); $thumb->write(file => $path)
$thumb->write(file => $path) or die $thumb->errstr;
or die $thumb->errstr; } else {
# unsupported image, djvu, ...
}
} elsif ($file->{fmime} =~ m{^video/}o) { } elsif ($file->{fmime} =~ m{^video/}o) {
$file->{ftype} = 'v'; $file->{ftype} = 'v';
} elsif ($file->{fmime} =~ m{^audio/}o) { } elsif ($file->{fmime} =~ m{^audio/}o) {

Loading…
Cancel
Save