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>

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.