Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Web services - Upload

by neilwatson (Priest)
on Oct 19, 2006 at 15:44 UTC ( #579396=note: print w/replies, xml ) Need Help??

in reply to Web services - Upload

Here is a basic cgi program that allows file uploads. You'll want to add lots of error checking. On the client side you could write a user agent that fills in the webform for the user.
#!/usr/bin/perl #limits size of upload $CGI::POST_MAX=1024 * 100; use File::Copy; use CGI qw/:standard/; use strict; use warnings; # output content header print "Content-type: text/html\n\n"; # get filename args my $cgi = new CGI or die "new CGI: $!\n"; my $csvfile = $cgi->param('inputfile'); # must match form name my $caption = $cgi->param('caption'); # table caption # start HTML print <<EOD; <html> <body> <h1>Your HTML Table</h1> EOD $\ = "\n"; # set output record separator print '<table border cellspacing=0 cellpadding=5>'; print '<caption>' . $caption . '</caption>'; while (<$csvfile>) { chomp; # strip record separator my @Fld = split(/,/, $_); my $X = 0; print '<tr>'; while ($X <= $#Fld) { if ($X == 0) { print "\t <th>" . $Fld[$X] . '</th>'; } else { print "\t <td>" . $Fld[$X] . '</td>'; } ++$X; } print '</tr>'; } print <<EOD; </table> <p>Use the view source function on your browser to download a copy of +the HTML code. </body> </html> EOD

Neil Watson

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://579396]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2017-04-26 17:53 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (487 votes). Check out past polls.