Sun Java Solaris Communities My SDN Account Join SDN
 
Code Samples and Apps

How to Perform a File Upload Using Server-Side Java

 

This is an HTML file which allows the user to select a file on the client's hard drive. This file needs to be uploaded to the server.

There are three ways of doing this: -

  1. CGI.
  2. NSAPI Service function upload file.
  3. Using Server Side Java.

The Java code is the implementation of the Server Side Java Applet. This can be done on both Enterprise and Fast Track servers.

// Here is a server side java applet
// which gets the file from the client.
// The way it demonstrates it 
// received the file from the client (meaning the file 
// upload was successful) it just 
// spits out the file back to the browser.
// Start of Server Side Java Applet code
 
 import netscape.server.applet.HttpApplet;
 import netscape.server.applet.ServerApplet;
 
 import java.io.*;
 import java.net.Socket;
 import java.net.InetAddress;
 import java.lang.IndexOutOfBoundsException;
 import java.util.Hashtable;
 import java.util.Enumeration;
 
 class FormApplet extends HttpApplet {
 
     public void run() throws Exception {
     Hashtable formdata;
     int x;
     PrintStream out = getOutputStream();
 
     InputStream is = getInputStream();
     DataInputStream di = new DataInputStream(is);
 
     if (returnNormalResponse("text/html")) {
             out.print(header);
 
            PrintStream POut = getOutputStream();
            String line;
 
            while ((line = di.readLine()) != null)
               POut.println(line);
            out.print(trailer);
         }
    }
    private static final String header = 
    "<h1>Form results</h1>\n<ul>\n";
    private static final String trailer = "</ul>\n";
 }

// This is the HTML file calling the server side applet
// What this HTML file does is
// allows a user to select a file which 
// can be uploaded to the server

 
 <HTML>
 <HEAD>
 <TITLE>
 Request Form
 </TITLE>
 </HEAD>
 <BODY>
 <H2>
 Incident Submit Form
 </H2>
 <FORM  ENCTYPE="multipart/form-data"
 ACTION="http://graphite/server-java/FormApplet/"
 METHOD=POST>
 <TABLE BORDER=2 CELLPADDING=1>
 <TR>
 <TD> File Name </TD>
 <TD COLSPAN=3><INPUT TYPE=FILE NAME="uploadfile"></TD>
 </TR>
 </TABLE>
 <CENTER>
 <INPUT TYPE="submit" VALUE="Submit">
 <INPUT TYPE="reset" VALUE="Clear Entries">
 </CENTER>
 </FORM>
 </BODY>
 </HTML>