upload excel and pdf file using Commons FileUpload package

Discussion in 'Java' started by Guan, Nov 30, 2006.

  1. Guan

    Guan Guest

    Does anyone know where i can use Jakarta Commons FileUpload package for
    uploading excel and pdf file?

    using Jakarta Commons FileUpload package with my form
    ENCTYPE="multipart/form-data", i am able to upload .txt and .zip.
    However, i encountered error when uploading excel and pdf.

    Like to find out is it because Jakarta Commons FileUpload package
    doesn't support uploading of excel and pdf file or is it because there
    might be some problem with my code

    Thanks
     
    Guan, Nov 30, 2006
    #1
    1. Advertising

  2. Guan wrote:
    > Does anyone know where i can use Jakarta Commons FileUpload package for
    > uploading excel and pdf file?
    >
    > using Jakarta Commons FileUpload package with my form
    > ENCTYPE="multipart/form-data", i am able to upload .txt and .zip.
    > However, i encountered error when uploading excel and pdf.
    >
    > Like to find out is it because Jakarta Commons FileUpload package
    > doesn't support uploading of excel and pdf file or is it because there
    > might be some problem with my code


    FileUpload can upload any file. It basically uploads
    a sequence of bytes. It does not care what the content are.

    May we see some code ?

    Arne
     
    =?ISO-8859-1?Q?Arne_Vajh=F8j?=, Dec 9, 2006
    #2
    1. Advertising

  3. Guan

    Guan Guest

    Hi Arne,

    Add to that i am also using NetComponents class. My purpose is to
    create a Web Based ftp to upload the file to the ftp server. So far i
    can only upload .txt and .zip. If i upload other file using
    ENCTYPE="multipart/form-data". I will receive some error.

    Thanks for replying my posting.

    ======================================================================================
    /**
    *
    * This is to upload the file that the client submitted
    * to the ftp server.
    *
    */


    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.util.*;

    import com.oroinc.net.ftp.*;

    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.commons.fileupload.FileItemFactory;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.FileUploadException;

    public class FtpUpload extends HttpServlet{

    public void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException

    {
    HttpSession session = request.getSession(true);

    if (!session.isNew()){

    DataInputStream inputLocalBuf = null;
    String fileName=null;

    try{

    // Check that we have a file upload request
    boolean isMultipart =
    ServletFileUpload.isMultipartContent(request);

    // Create a factory for disk-based file items
    FileItemFactory factory = new DiskFileItemFactory();

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);

    // Parse the request
    List items = upload.parseRequest(request);

    // Process the uploaded items
    Iterator iter = items.iterator();
    while (iter.hasNext()) {

    FileItem item = (FileItem) iter.next();

    if (!item.isFormField()) {

    fileName = item.getName();
    InputStream uploadedStream = item.getInputStream();
    inputLocalBuf = new DataInputStream(uploadedStream);
    uploadedStream.close();

    }
    }
    }

    catch( FileUploadException fue) {
    throw new ServletException("FileUploadError: " +
    fue.getMessage(), fue);
    }

    /* create a UserDetails object. This object will retrieve
    * the id & password from the session object*/


    UserDetails userDetails = new UserDetails();
    userDetails = (UserDetails) session.getAttribute ("userInfo");

    String ftpUserId = userDetails.getName();
    String ftpPassword = userDetails.getPassword();

    String newFileName = null;
    StringTokenizer st = new StringTokenizer(fileName,"\\");
    while (st.hasMoreTokens()) {
    newFileName = st.nextToken();
    }


    String FTP_SERVER = "192.168.200.100";
    String FTP_DIRECTORY = "";

    FTPClient ftp = null;

    try {
    ftp = new FTPClient();
    ftp.connect(FTP_SERVER);
    int reply = ftp.getReplyCode();
    if
    (!com.oroinc.net.ftp.FTPReply.isPositiveCompletion(reply))
    throw new java.io.IOException("Could not connect to ftp
    server " +
    FTP_SERVER);
    ftp.login(ftpUserId, ftpPassword);
    ftp.setFileType(com.oroinc.net.ftp.FTP.BINARY_FILE_TYPE);
    ftp.changeWorkingDirectory(ftp.printWorkingDirectory());
    try {
    /* Upload the file to the client ftp /HOME directory*/
    //inputLocal = new FileInputStream(objToFtpPut);

    if (!ftp.storeFile(newFileName,inputLocalBuf))
    throw new java.io.IOException(
    "Copy file to remote ftp host failed");
    } finally {
    if (inputLocalBuf != null) inputLocalBuf.close();
    //if (inputLocal != null) inputLocal.close();

    /*Display message to inform that file is downloaded
    successfully*/
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    String docType =
    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
    "Transitional//EN\">\n";
    out.println(docType +
    "<HTML>\n" +
    "<HEAD>\n"+
    "<TITLE>F T P</TITLE></HEAD>\n" +
    "<BODY>\n"+
    "<CENTER><IMG src=\"/ftp/images/banner.jpg\"
    width=\"760\" height=\"75\">\n" +
    "</CENTER>\n<BR>\n<BR>\n" +
    "<CENTER>\n<TABLE width=\"760\" border=\"0\"
    cellspacing=\"0\" cellpadding=\"0\">\n" +
    "<TR>\n<TD>\n"+
    "<FONT face=\"Verdana, Arial, Helvetica,
    sans-serif\"><B><FONT color=\"#000000\">\n" +
    "<FONT size=\"2\">&nbsp;M E S S A G
    E</FONT></FONT></B></FONT>\n" +
    "</TD>\n<TD width=\"615\">\n" +
    "<HR size=\"1\" width=\"615\" noshade color=\"#990000\"
    align=\"right\">" +
    "</TD></TR>\n" +
    "<TR>\n<TD>\n"+
    "<A href=\"/InvalidateSession\">\n"+
    "<FONT face=face=\"Verdana, Arial, Helvetica,
    sans-serif\" size=\"1\">[Sign Out]</A>\n"+
    "</TD></TR></TABLE>\n"+
    "<TABLE width=\"760\" border=\"0\" cellspacing=\"0\"
    cellpadding=\"0\">\n" +
    "<TR>\n<TD>\n" +
    "Your file have been uploaded <A HREF= \"" +
    response.encodeURL("/Validation") +
    "\"> Upload another file </A>\n"+
    "</TD>\n<TR>\n</TABLE>\n" +
    "<TABLE width=\"760\" border=\"0\" cellspacing=\"0\"
    cellpadding=\"0\">" +
    "<TR>\n<TD>\n"+
    "<HR width=\"760\" align=\"left\" noshade size=\"1\"
    color=\"#990000\">"+
    "</TD>\n</TR>\n</TABLE>\n</CENTER>\n"+
    "</BODY></HTML>");
    }
    ftp.logout();
    } finally {
    if (ftp != null) {
    try {
    ftp.disconnect();
    } catch (Exception e) {
    }
    }
    }
    }
    }
    }
     
    Guan, Dec 17, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dundonald
    Replies:
    0
    Views:
    401
    Dundonald
    Mar 22, 2005
  2. Dundonald
    Replies:
    2
    Views:
    898
    Dundonald
    Mar 23, 2005
  3. i730lover
    Replies:
    0
    Views:
    785
    i730lover
    Jul 21, 2006
  4. Pablo
    Replies:
    2
    Views:
    439
    =?ISO-8859-1?Q?Arne_Vajh=F8j?=
    Nov 21, 2006
  5. lielar
    Replies:
    1
    Views:
    1,094
    Roland de Ruiter
    Aug 25, 2008
Loading...

Share This Page