From 43cb6bdb5e7e568a50d5c1f1a0562ac444f9fd30 Mon Sep 17 00:00:00 2001 From: Matt Healy Date: Sat, 8 Sep 2012 11:30:06 +0800 Subject: [PATCH] Updated Perl example to handle form-based uploads for older browsers --- server/perl.cgi | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/server/perl.cgi b/server/perl.cgi index c66f1aa1a..8b67ecfe8 100644 --- a/server/perl.cgi +++ b/server/perl.cgi @@ -12,7 +12,13 @@ use CGI; my $IN = new CGI; - my $file = $IN->param('POSTDATA'); + my $file; + if ($IN->param('POSTDATA')) { + $file = $IN->param('POSTDATA'); + } else { + $file = $IN->upload('qqfile'); + } + my $temp_id = $IN->param('temp_id'); # make a random filename, and we guess the file type later on... @@ -38,8 +44,15 @@ mkdir("$uploaddir/$temp_id"); + binmode(WRITEIT); open(WRITEIT, ">$uploaddir/$name.$type") or die "Cant write to $uploaddir/$name.$type. Reason: $!"; + if ($IN->param('POSTDATA')) { print WRITEIT $file; + } else { + while (<$file>) { + print WRITEIT; + } + } close(WRITEIT); my $check_size = -s "$uploaddir/$name.$type"; @@ -59,4 +72,4 @@ print qq|{ "success": true }|; print STDERR "file has been successfully uploaded... thank you.\n"; - } \ No newline at end of file + }