Here is the Working code

package LSRfm::Application::Upload; use strict; use warnings; use base qw(LSRfm::Base); use Apache::Reload; use CGI; use CGI::Upload; #use CGI::Simple; sub setup { my $self = shift; $self->start_mode('input'); $self->run_modes([qw/input process/]);} sub input { my $self = shift; my $errs = shift; my $html_template = $self->param('html_template'); my $output; $html_template->process('upload/form', {wrapper => $self->wrapper(), errors => $errs}, \$output) || die $html_template->error; return $output; } sub process { my $self = shift; my $html_template = $self->param('html_template'); my $q = $self->query; my $script = $q->script_name; my $filename = $q->param('uploaded_file'); my $from; my $fh = $q->upload('uploaded_file'); my $diff_name = $q->param('diff_name'); my $totalbytes; my ($bytesread, $buffer); my $num_bytes = 1024; my $destination = "/home/lsrfm/webs/www.lsrfm.com/htdocs/uploads/"; #check rm my ($results, $err_page) = $self->check_rm('input', { required => [qw/uploaded_file/], filters => ['trim'], msgs => { missing => 'Please S +upply a File Name', } }); return $err_page if $err_page; #sall good patch together # if ($diff_name) # { # $filename = $diff_name; # } my $output_file = $destination . $fh; #upload time open (OUTFILE, ">", "$output_file") or die "Couldn't open $output_fi +le for writing: $!"; while ($bytesread = read($filename, $buffer, $num_bytes)) { $totalbytes += $bytesread; print OUTFILE $buffer; } die "$output_file Read Failure: $!" unless defined($bytesread); unless (defined($totalbytes)) { print "<p>Error: Could not read file $filename, "; print "or was of zero length"; } else { print "<p>Done ok, $totalbytes</p>"; } close OUTFILE or die "Couln't Close file $!"; #output my $output; $html_template->process('upload/form', {wrapper => $self->wrapper(), status => "sall_good", file => $filename, dest => $destination, from => $from, }, \$output) || die $html_template->error; return $output; } 1;

Dont forget to set the enctype of your form to enctype of "multipart/form-data"

Barry Carlyon barry@barrycarlyon.co.uk

In reply to Re^2: After Revieing the Cpan On CGI, wrt Uploading things by barrycarlyon
in thread A Journey in Uploading by barrycarlyon

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.