• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 198
  • Last Modified:

uploading and downloading files

how do i upload and down load files using perl( in a Web application) giving the user the option to choose file(s) from a directory(location)...????
0
babykai
Asked:
babykai
1 Solution
 
KishoreS78Commented:
see Net::FTP module
u could play around with ftp transferring files.
0
 
dmagCommented:
Please explain what you want in more detail. Is this a web application? Do you want to use FTP? or what?
0
 
alien_life_formCommented:
Greetings.

If this is a web application:

i) for downloading, you need nothing more than a link to the appropriate file.

ii) For uploading, you can use CGI.pm, taking advantage of its multipart form support- it will do exactly what you want, from within a browser. CGI.pm's documentation is bundled with perl.

Cheers,
   alf
0
 
babykaiAuthor Commented:
Edited text of question.
0
 
baralongCommented:
To upload the file you need something like:

<form enctype="multipart/form-data" action="http://server/accept.pl" method="post">
<input name="my_file" type="file">
</form>

Most browsers implement the the input type="file" tag with a button the brings up a file selector window.

In accept.pl have something like:

use CGI;
$query= new CGI;
$fileup = $query->param('my_file');

# extract its name
$strFilename = $fileup;
$strFilename =~ s/.*\\([^\s\\]+)$/$1/;

# build a name for the file on the server
$localFile =~ s/\\[^\s\\]+$//;
$localFile .= "\path\" . $strFilename;
 
# save the file
open (OUTFILE,">$localFile");
binmode($fileup);
binmode(OUTFILE);
while ($bytesread=read($fileup,$buffer,1024)) {
      print OUTFILE $buffer;
}

You will only need the binmode statements if the OS you are using diferentiates between text and binary files (eg windows, or at least the version that I'm using)
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now