File Uploading

Easiest way is with a <INPUT TYPE="FILE"> field.

Script 9: upload.pl

#!/usr/bin/perl
#script: upload.pl
 
use CGI qw/:standard/;
 
print header,
    start_html('file upload'),
    h1('file upload');
print_form()    unless param;
print_results() if param;
print end_html;
 
sub print_form {
    print start_multipart_form(),
    filefield(-name=>'upload',-size=>60),br,
    submit(-label=>'Upload File'),
    end_form;
}
 
sub print_results {
    my $length;
    my $file = param('upload');
    if (!$file) {
 	print "No file uploaded.";
 	return;
    }
  
    print h3("File name: $file");
    print h3('File MIME type:',
	     uploadInfo($file)->{'Content-Type'});

    my $fh = upload('upload');
    while (<$fh>) {
 	$length += length($_);
    }

    print h3("File length: $length");
}

What it Looks Like

http://localhost/cgi-bin/conference/file_upload.pl
<< Previous
Contents >> Next >>

Lincoln D. Stein, lstein@cshl.org
Cold Spring Harbor Laboratory
Last modified: Sat Jun 19 12:46:04 EDT 1999