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

Input output to cgi scripts

Hi, i am new to cgi programming, i have the following job to be done. I would appreciate if someone can help me.

I am developing a tool in perl for which i have to create a web interface.  User can log into the tool through netscape. Once user clicks input button a file dialog should open asking the user to choose a file as input to the tool(The input file will be in user home directory).  This input should be fed to perl scripts on the server to get output and the output file should be supplied to the user so that he can store it in his local disk. I hope i explained the problem clearly,i would appreciate if someone can help me.
0
apaazue
Asked:
apaazue
  • 3
  • 3
1 Solution
 
treyjeffCommented:
What is the file that the user is entering?  Also, what is the perl script doing?
0
 
maneshrCommented:
try this....

you will have to change the HTML file to point to your cgi directory and also change the location of the PERL interpreter as per your sytem.


=================input.html
<html>
<title>Accept file as input for tool</title>


<form action="/cgi-bin/upload.pl" method=post>
<B>Enter the input file </b>
<input name="input" type="file">
<P><input type=submit>
</form>
</html>

================upload.pl
#!/usr/local/bin/perl

use CGI;

$query=new CGI;

##  Read the file name that the user has entered
$DocLocation=$query->param('inp');

print "Content-type: text/html\n\n";

##  Read 1024 bytes at a time
while($bytesread=read($DocLocation,$data,1024)){
  $size+=$bytesread;  ##  Extra!! also count the size of the file
  $content.=$data;    ##  Store the ACTUAL file content
}
close($DocLocation);

##  Now that the full content of the file is...
##  ... in the content variable, you can do whatever...
##  ... manipulations you want and then just "throw" ...
##  ... the modified content back to the user!!

print "<B>$content has been uploaded</B><br>\n";
print "<B>Size = ",$size," byte(s)</B><BR>\n";
0
 
apaazueAuthor Commented:
The user enter the input file that tool requires.  It will be in the disk of the user. the tool will parse it and takes required info from it.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
apaazueAuthor Commented:
Maneshr your comment is very intersting. As i said am new to cgi please confirm if your code works in the situation which i presented in my next comment. i.e The file is located in the user machine not on the server.   It has to be transported from user machine to remote server where perl scripts are running.
0
 
maneshrCommented:
definately the script will read the entire contents of the file that the user wants and send it to the server. once at the server, you can do any processing to that content and send back the processed results to the users browser or let the user save them to his PC.
0
 
maneshrCommented:
apaazue,

is there anything that i missed out on? pl. let me know.
0
 
apaazueAuthor Commented:
sure/////////////////
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

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