Better filetype detection

This commit is contained in:
Luc Didry
2014-02-17 21:08:05 +01:00
parent d3bde59421
commit cacd1a46ee
3 changed files with 22 additions and 18 deletions
+1 -1
View File
@@ -2,5 +2,5 @@ requires 'Mojolicious';
requires 'Data::Validate::URI';
requires 'Mojolicious::Plugin::I18N';
requires 'ORLite';
requires 'MIME::Types';
requires 'File::Type';
requires 'Text::Unidecode';
+17 -14
View File
@@ -148,6 +148,14 @@ DISTRIBUTIONS
File::Spec 3.29
Test::More 0.42
perl 5.00503
File-Type-0.22
pathname: P/PM/PMISON/File-Type-0.22.tar.gz
provides:
File::Type 0.22
File::Type::Builder 0.11
requirements:
IO::File 0.01
Test::More 0.01
IPC-Run3-0.046
pathname: R/RJ/RJBS/IPC-Run3-0.046.tar.gz
provides:
@@ -156,16 +164,6 @@ DISTRIBUTIONS
ExtUtils::MakeMaker 0
Test::More 0.31
Time::HiRes 0
MIME-Types-2.04
pathname: M/MA/MARKOV/MIME-Types-2.04.tar.gz
provides:
MIME::Type 2.04
MIME::Types 2.04
requirements:
ExtUtils::MakeMaker 0
File::Basename 0
File::Spec 0
Test::More 0.47
Module-Build-0.4205
pathname: L/LE/LEONT/Module-Build-0.4205.tar.gz
provides:
@@ -221,8 +219,8 @@ DISTRIBUTIONS
Text::ParseWords 0
perl 5.006001
version 0.87
Mojolicious-4.79
pathname: S/SR/SRI/Mojolicious-4.79.tar.gz
Mojolicious-4.81
pathname: S/SR/SRI/Mojolicious-4.81.tar.gz
provides:
Mojo undef
Mojo::Asset undef
@@ -241,7 +239,6 @@ DISTRIBUTIONS
Mojo::DOM undef
Mojo::DOM::CSS undef
Mojo::DOM::HTML undef
Mojo::DOM::Node undef
Mojo::Date undef
Mojo::EventEmitter undef
Mojo::Exception undef
@@ -286,7 +283,7 @@ DISTRIBUTIONS
Mojo::UserAgent::Server undef
Mojo::UserAgent::Transactor undef
Mojo::Util undef
Mojolicious 4.79
Mojolicious 4.81
Mojolicious::Command undef
Mojolicious::Command::cgi undef
Mojolicious::Command::cpanify undef
@@ -414,3 +411,9 @@ DISTRIBUTIONS
Test::Builder::Tester 1.02
Test::More 0.62
blib 0
Text-Unidecode-0.04
pathname: S/SB/SBURKE/Text-Unidecode-0.04.tar.gz
provides:
Text::Unidecode 0.04
requirements:
ExtUtils::MakeMaker 0
+4 -3
View File
@@ -1,7 +1,7 @@
package Lutim;
use Mojo::Base 'Mojolicious';
use LutimModel;
use MIME::Types 'by_suffix';
use File::Type;
use Mojo::Util qw(quote);
use Mojo::JSON;;
use Digest::file qw(digest_file_hex);
@@ -130,13 +130,14 @@ sub startup {
my $c = shift;
my $upload = $c->param('file');
my ($mediatype, $encoding) = by_suffix $upload->filename;
my $ft = File::Type->new();
my $mediatype = $ft->mime_type($upload->slurp());
my $ip = $c->ip;
my ($msg, $short);
# Check file type
if (index($mediatype, 'image') >= 0) {
if (index($mediatype, 'image/') >= 0) {
# Create directory if needed
mkdir('files', 0700) unless (-d 'files');