Jakarta commons FileUpload - ServletFileUpload.parseRequest(...)

Hello people. I am using:
# Orion app server (don't ask why)
# WebWork 2.1.7 framework
# Jakarta commons file upload 1.2
While writing a file upload action I am having problems with ServletFileUpload.parseRequest(...) as it always returns an empty list.
Reading related Jakarta FAQ it says "this most commonly happens when the request has already been parsed, or processed in some other way."
I then assumed it was my WebWork interceptor so I took that out but I'm still getting the same problem.
Am I missing something in my JSP, another <input> or something?
Is the request being parsed somehwere else beforehand (maybe a WebWork issue)?
Any help would be much appreciated.
Here is the relevant code...
My JSP<html>
     <head>
          <title>File Upload</title>
     </head>
     <body>
          <form enctype="multipart/form-data" method="post" action="doUpload.action" name="uploadForm">
               <input name="upload" type="file" label="File"/>
               <input type="submit" value="upload" />
          </form>
     </body>
</html>
The execute() method of my action     public String execute() {
          log.info("executing");
          // get the request
          HttpServletRequest request = ServletActionContext.getRequest();
          // check that we have a file upload request
          boolean isMultipart = ServletFileUpload.isMultipartContent(request);
          log.debug("request "+ ( (isMultipart ? "IS" : "is NOT") ) +" a multi-part");
          if (isMultipart) {
               // Create a factory for disk-based file items
               DiskFileItemFactory factory = new DiskFileItemFactory();
               factory.setSizeThreshold(100);
               factory.setRepository(new File("C:/tmp/cms/uploads"));
               // Create a new file upload handler
               ServletFileUpload upload = new ServletFileUpload(factory);
               // Parse the request
               try {
                    //List /* FileItem */ items = upload.parseRequest(request);
                    _uploads = upload.parseRequest(request);
               } catch (FileUploadException e) {
                    log.error("Error parsing request" , e);
               // if the above method doesn't work, use my method :)
               if (_uploads.isEmpty()) {
                    _uploads = parseRequest(request);
          return (_uploads == null) || _uploads.isEmpty() ? INPUT : SUCCESS;
     }My implementation of parseRequest(...) works but returns File objects and I need FileItem objects. I don't really want to use this method but will include it here just incase it triggers some inspiration for someone.
private List<File> parseRequest(HttpServletRequest requestObj) {
         List<File> files = new ArrayList<File>();
         // if the request is a multi-part
         if (requestObj instanceof MultiPartRequestWrapper) {
              // cast to multi-part request
              MultiPartRequestWrapper request = (MultiPartRequestWrapper) requestObj;
               // get file parameter names
               Enumeration paramNames = request.getFileParameterNames();
               if (paramNames != null) {
                    // for each parameter name, get corresponding File
                    while (paramNames.hasMoreElements()) {
                         File[] f = request.getFiles("" + paramNames.nextElement() );
                         // add the File to our list
                         if (!ArrayUtils.isEmpty(f)) {
                              files.add(f[0]);
          return files.isEmpty() ? null : files;
    }

Hi edin7976, just wonder have you got any feedback for this problem?
I really want to push this thread up as I am stuck at the exact same question. Can anybody give a hint?

Similar Messages

  • Apache Jakarta Commons FileUpload misleading message

    I have a JSP page doing file upload using commons FileUpload package. The code looks like this:
    <%
    DiskFileUpload upload = new DiskFileUpload();
    List items = upload.parseRequest(request);
    Iterator itr = items.iterator();
    while(itr.hasNext()) {
         FileItem item = (FileItem) itr.next();
         // check if the current item is a form field or an uploaded file
         if(item.isFormField()) {
              String fieldName = item.getFieldName();
              if(fieldName.equals("name"))
                   request.setAttribute("msg", "Thank You: " + item.getString());
         } else {
              File fullFile = new File(item.getName());
              File savedFile = new File("c:\\tmp\\",     fullFile.getName());
              item.write(savedFile);
    %>
    The JSP successfully uploaded the files but it still show me HTTP Status 404 - c:\tmp (Access is denied).
    What's wrong with my code? Thank you.

    I just found out that the problem that I have mentioned in my previous post has nothing to do with Jakarta Commons Fileupload. It happens whenever I try throwing an exception. And it happens only when I use Internet Explorer
    Thanks,
    Joe
    See the code below...
    /**** throw-error.jsp ***/
    <%@ page language="java" session="false" isErrorPage="false" errorPage="catch-error.jsp" %>
    <%
    throw new Exception("Catch this!");
    %>
    /****** catch-error.jsp ****/
    <%@ page language="java" session="false" isErrorPage="true" %>
    <html>
    <head>
    </head>
    <body>
    <%
    out.println(exception.getMessage());
    %>
    </body>
    </html>

  • Jakarta Commons FileUpload ; Internet Explorer Problem

    Hi all,
    Environment:
    Tomcat 5 ;Apache 2; JDK 1.5.0; Jakarta Commons Fileupload 1.0
    OS: Windoze XP
    Previously I've used jakarta commons fileupload package to succussfully to upload a file.
    However, I am trying to check the content type of the file and throw an exception if its not a jpeg file. The following code works great when I use firefox. But it fails when I use Internet Explorer!
    When I supply an existing jpg file on my desktop as the input to the HTML form, the code works fine. However if I enter a non-existing jpg filename, I get a "HTTP 500 Internal Server Error"! I expect to get the "Wrong content type!" message (which my JSP throws as an exception and should be caught by the error page). This problem happens only with Internet Explorer. With firefox, I get the "Wrong Content Type" message as expected.
    What could be the problem? Please advise.
    Thanks
    Joe.
    Code follows......
    /************** file-upload.html *************/
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>File Upload</title>
    <script type="text/javascript" language="JavaScript">
    <!--
    function fileTypeCheck() {
         var fileName = document.uploadForm.pic.value;
         if (fileName == "") {
              alert ("Please select a file to upload!");
              return false;
         var indexOfExt = fileName.lastIndexOf (".");
         if (indexOfExt < 0) {
              alert('You can only upload a .jpg/.jpeg/.gif file!');
              return false;
         var ext = fileName.substring(indexOfExt);
         ext = ext.toLowerCase();
         if (ext != '.jpg' && ext != 'jpeg') {
             alert('You selected a ' + ext + ' file;  Please select a .jpg/.jpeg file instead!');
              return false;
         return true;
    //--></script>
    </head>
    <form action="uploadPhoto.jsp" enctype="multipart/form-data" method="post" name="uploadForm" onSubmit="return fileTypeCheck();">
         <input type="file" accept="image/jpeg,image/gif" name="pic" size="50" />
         <br />
         <input type="submit" value="Send" />
    </form>
    <body>
    </body>
    </html>
    /*************** photoUpload.jsp **************/
    <%@ page language="java" session="false" import="org.apache.commons.fileupload.*, java.util.*" isErrorPage="false" errorPage="uploadPhotoError.jsp" %>
    <%!
    public void processUploadedFile(FileItem item, ServletResponse response) throws Exception {
         try {
              // Process a file upload
                  String contentType = item.getContentType();
              if (! contentType.equals("image/jpeg") && ! contentType.equals("image/pjpeg")) {
                   throw new FileUploadException("Wrong content type!");
         } catch (Exception ex) {
              throw ex;
    %>
    <%
    // Check that we have a file upload requeste
    boolean isMultipart = FileUpload.isMultipartContent(request);
    // Create a new file upload handler
    DiskFileUpload upload = new DiskFileUpload();
    // Parse the request
    List /* FileItem */ items = upload.parseRequest(request);
    // Process the uploaded items
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (! item.isFormField()) {
            processUploadedFile(item, response);
    %>
    <html>
    <head>
    </head>
    <body>
    File uploaded succesfully! Thank you!
    </body>
    </html>
    /******** uploadPhotoError.jsp ****/
    <%@ page language="java" session="false" isErrorPage="true" %>
    <html>
    <head>
    </head>
    <body>
    <%
    out.println(exception.getMessage());
    %>
    </body>
    </html>

    I just found out that the problem that I have mentioned in my previous post has nothing to do with Jakarta Commons Fileupload. It happens whenever I try throwing an exception. And it happens only when I use Internet Explorer
    Thanks,
    Joe
    See the code below...
    /**** throw-error.jsp ***/
    <%@ page language="java" session="false" isErrorPage="false" errorPage="catch-error.jsp" %>
    <%
    throw new Exception("Catch this!");
    %>
    /****** catch-error.jsp ****/
    <%@ page language="java" session="false" isErrorPage="true" %>
    <html>
    <head>
    </head>
    <body>
    <%
    out.println(exception.getMessage());
    %>
    </body>

  • Jakarta Commons FileUpload error : How should I go about it ?

    Hi fellas,
    I am using the Jakarta commons fileupload jar to write an upload servlet.
    I have created an html file where I upload a file as follows :
    <form name="upload_form" enctype="multipart-form/data" method="post" action="servlet/UploadServlet2">
    <center>
    <font face="tahoma" size="3">
    Please choose a file to upload <input type="file" name="upload_file">
    <hr>
    <input type="submit" name="bttn_submit" value="Upload File">
    </font>
    </center>
    </form>
    On posting this form, I am calling the UploadServlet which has the following code :
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.apache.commons.fileupload.*;
    public class UploadServlet2 extends HttpServlet
              protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
                   doWork(req, res);
              protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
                   doWork(req, res);
              private void doWork(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
                   PrintWriter out = res.getWriter();
                   out.println(req.toString());
                   out.println("page loading");
                   out.println(req.getContentType());
                   out.println(req.getParameter("myText"));
                   boolean isPart = FileUpload.isMultipartContent(req);
                   out.println(isPart);
                   if(isPart)
                        out.println("is multipart");
                        DiskFileUpload upload = new DiskFileUpload();
                        try
                             List items = upload.parseRequest(req);
                             Iterator it = items.iterator();
                             while(it.hasNext())
                                  FileItem item = (FileItem)it.next();
                                  if(!(item.isFormField()))
                                       out.println("success");
                        catch (FileUploadException e)
                             // TODO Auto-generated catch block
                             System.out.println(e.getMessage());
                             out.println(e.getMessage());
                   else
                        out.println("file not received");
                   out.flush();
                   out.close();
    But the output that I get is :
    org.apache.coyote.tomcat4.CoyoteRequestFacade@7244ca page loading application/x-www-form-urlencoded null false file not received
    WHATS THAT SUPPOSED 2 MEAN ?
    Where's the mistake in my code ?
    How should I remedy the situation ?
    Help needed immediately

    Hey thanx serlank,
    I never thought I could be sooooooooooo stupid...but u c, I have Java'd so much over the last 1 year that it's now become a headache 4 me 2 spot out such small mistakes.
    But thanx 2 people like u I never can drown in the Java Ocean. U're always there in the Search-and-Rescue team...
    Hope u'll always be there...
    Well ur ego glows again...
    Thanx alot 1ce again. It works now.
    Can I have ur mail Id if u don't mind ??

  • Question about Jakarta common fileUploader

    Hello!
    I want to be able to upload files to my databas through a jsp-page and have beeing recommended to use Jakarta common fileUploader.
    When extracting that file I saw that there was a lot of files, should all files be put in my WEB_INF/classes/"mypachage"-catalogue or?
    Thanks in advance!
    /D_S

    I am not sure what you mean. When you downloaded the commons-fileupload-1.0.zip there should be some JavaDoc files and a jar file (commons-fileupload-1.0.jar). You dont need to unzip the jar file. Just place it in WEB-INF/lib so the classes will be load. You'll also need to add the jar file to you classpath (or IDE classpath) so that you can compile.
    (Adjust the file names for what ever version you are using)

  • File size with Jakarta Commons FileUpload

    Hello fella experts,
    I am using the org.apache.commons.FileUpload package to upload a file via a servlet.
    I'm implementing the DiskFileUpload() method in the servlet.
    My problem is that I want to apply a file-size validation and specify that files with size greater than 1MB should not be uploaded.
    How to accomplish this ?
    Any suggessions ?
    Thanx in advance.

    Hi, I'm trying this code, and it works pretty fine, but when I try to transfer a .zip file, it give me a .zip file that I can't extract.
    Please.. Am I doing something wrong, do I miss something??
    I set already the File Type to binary...
    any comments..
    public static void copyFiles(String server, String user, String pwd, String origen, String destino)
    try {
    FTPClient ftp = new FTPClient();
    ftp.connect(server);
    ftp.login(user,pwd);
    ftp.setFileType(ftp.BINARY_FILE_TYPE);     
    //ftp.enterLocalPassiveMode();
    ftp.changeWorkingDirectory(origen);
    int reply = ftp.getReplyCode();
    if(!FTPReply.isPositiveCompletion(reply)) {
    ftp.disconnect();
    FTPFile[] files = ftp.listFiles();
    FTPFile ftpfile = null;
    OutputStream output = null;
    for (int i = 0; i < files.length; i++) {
    ftpfile = files;
    if (ftpfile.isFile()){
    output = new FileOutputStream(new File(destino+ftpfile.getName()));
    if (ftp.retrieveFile(ftpfile.getName(),output)){
    output.close();
    ftp.logout();
    ftp.disconnect();
    } catch (Exception e) {
    e.printStackTrace();
    System.out.println("Error : " + e.toString());

  • I am trying to use apache commons fileupload and get this error

    I am using tomcat 5.5 as application server and JDK 1.6,
    does anybody have idea how to resolve this error ?
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    java.security.AccessControlException: access denied (java.util.PropertyPermission java.io.tmpdir read)
         java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
         java.security.AccessController.checkPermission(AccessController.java:546)
         java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
         java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1285)
         java.lang.System.getProperty(System.java:652)
         org.apache.commons.fileupload.disk.DiskFileItem.getTempFile(DiskFileItem.java:611)
         org.apache.commons.fileupload.disk.DiskFileItem.getOutputStream(DiskFileItem.java:556)
         org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:362)
         org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
         project.UploadFiles.processRequest(UploadFiles.java:48)
         project.UploadFiles.doPost(UploadFiles.java:107)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         java.lang.reflect.Method.invoke(Method.java:597)
         org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
         java.security.AccessController.doPrivileged(Native Method)
         javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
         org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

    Make sure that the servlet has permissions to write to that directory. I've hit that snag before, and on linux I set the permissions to nobody nobody 775.
    Good luck,
    Krista

  • Attachements with apache commons fileupload

    I'm using:
    http://commons.apache.org/fileupload/
    to write file on server side (Tomcat running on Windows with XP or 2003).
    I'm sending data to servlet with doPost() as follows:
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                DiskFileItemFactory factory = new DiskFileItemFactory();
                factory.setSizeThreshold(4096);
                factory.setRepository(new File("test"));
                ServletFileUpload upload = new ServletFileUpload(factory);
                upload.setSizeMax(1000000);
                List fileItems = upload.parseRequest(request);
                Iterator i = fileItems.iterator();
                String comment = ((FileItem) i.next()).getString();
                FileItem fi = (FileItem) i.next();
                String fileName = fi.getName();
                // db
                fi.write(new File("C:/", fileName));
            } catch (Exception ex) {
                out.print(ex.getMessage());
            out.close();
        }but it's response is:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: Servlet execution threw an exception
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    root cause
    java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
         org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)
         org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
         org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
         Upload.doPost(Upload.java:69)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    root cause
    java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
         org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
         java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
         org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)
         org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
         org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
         Upload.doPost(Upload.java:69)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
    Apache Tomcat/6.0.16don't know why.. any ideas?

    java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStreamThe mentioned class is missing in the runtime classpath.
    Add it (in this specific case, the JAR file with the mentioned class) to the classpath and the problem will disappear.
    This class is part of Commons IO. Read the dependencies page at FileUpload user guide which JAR's you all need.

  • Commons fileupload to delete a file

    Has anyone used the jakarta commons fileupload package to delete a file? Is it possible?
    There is a delete() method in the package, but I can't get it to work. Does anyone have any ideas?

    Fair comment, point taken. Yes, I realise I can do it straight from a servlet, and yes, there was another thorn that wasn't in the post (it was in a post elsewhere).
    The point being that since I use the commons filupload to upload the files to the server in the first place - and give the user the option of creating a set of directories in which to place the file, if I the user then wants to delete the uploaded file the servlet has to have some way of recovering the path and getPath(), getAbsolutePath() etc don't find the right path - they only return a path: /bin/file- that was really the problem.

  • Trying a comprehensive jakarta-commons PKGBUILD....

    Hey there!
    I would like to build a PKGBUILD for a nice java banking program. On the way to a Arch-conform PKGBUILD I stumbled over the Java Package Guidelines and investigated the libs which are shipped with the program a bit further.
    There I found that some jars from the jakarta commons package were used but not yet packaged in AUR or the official repos. So first I wanted to build them separately, but then I found that it would make more sense to have one comprehensive package of (currently) 30MB instead of 33 single packages.
    What do you think about the idea? I am willing to support this meta package as well as the single ones if I just knew how the implementation would be more sensible.
    Since it would be a huge amount of work to pack every packag on its own, I wrote a PKGBUILD for all packages that are in Jakarta Commons.
    I hope, if it is generally desired to have any package in a single file, that I at least learnt a bit from writing this PKGBUILD
    # Contributor: jakob
    pkgname=jakarta-commons-all
    pkgver=1.0
    pkgrel=1
    pkgdesc="This packag includes all Jakarta Commons Proper packages."
    url="http://jakarta.apache.org/commons/"
    license="APACHE"
    depends=()
    makedepends=()
    conflicts=()
    source=(http://www.apache.org/dist/jakarta/commons/attributes/binaries/commons-attributes-2.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/beanutils/binaries/commons-beanutils-1.7.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/betwixt/binaries/commons-betwixt-0.7.tar.gz
    http://www.apache.org/dist/jakarta/commons/chain/binaries/commons-chain-1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/cli/binaries/cli-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/codec/binaries/commons-codec-1.3.tar.gz
    http://www.apache.org/dist/jakarta/commons/collections/binaries/commons-collections-3.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/configuration/binaries/commons-configuration-1.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/daemon/binaries/commons-daemon-1.0.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/dbcp/binaries/commons-dbcp-1.2.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/dbutils/binaries/commons-dbutils-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/digester/binaries/commons-digester-1.7.tar.gz
    http://www.apache.org/dist/jakarta/commons/discovery/binaries/commons-discovery-0.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/el/binaries/commons-el-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/email/binaries/commons-email-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/fileupload/binaries/commons-fileupload-1.1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/httpclient/binary/commons-httpclient-3.0.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/io/binaries/commons-io-1.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/jelly/binaries/commons-jelly-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/jexl/binaries/commons-jexl-1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/jxpath/binaries/commons-jxpath-1.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/lang/binaries/commons-lang-2.2.tar.gz
    http://www.apache.org/dist/jakarta/commons/latka/binaries/latka-1.0-alpha1.zip
    http://www.apache.org/dist/jakarta/commons/launcher/binaries/commons-launcher-1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/logging/binaries/commons-logging-1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/math/binaries/commons-math-1.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/modeler/binaries/commons-modeler-2.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/net/binaries/commons-net-1.4.1.tar.gz
    http://www.apache.org/dist/jakarta/commons/pool/binaries/commons-pool-1.3.tar.gz
    http://www.apache.org/dist/jakarta/commons/primitives/binaries/commons-primitives-1.0.tar.gz
    http://www.apache.org/dist/jakarta/commons/scxml/binaries/commons-scxml-0.5.tar.gz
    http://www.apache.org/dist/jakarta/commons/transaction/binaries/commons-transaction-1.1.tgz
    http://www.apache.org/dist/jakarta/commons/validator/binaries/commons-validator-1.3.0.tar.gz)
    md5sums=('47d037449aa38b6c8e181abcfaf36b2b' 'd1571ce9d6ec3d1795364cc44f3d116e'
    '707af78be5ed2518dd2eada9afefb238' 'e688f648a5fd324f591669ca70ebe96d'
    '6c28bdee998fe4d9e76c7cf40e7f4691' 'aad3948be13476d9599cadaf146bc92a'
    '030a1c1d08f47a6c9be000fc611714b4' '6c8bc440de20b7c9b5b3b5315d50316b'
    '591fceeb4feab1094a78c9c5decd8cca' 'd333fc11abb532be2487338cb452b583'
    'b437ea809d320378fc05af9f29e2636f' '717239578dfcd05bde0dfd1d3e8f319f'
    '2273f5f83a477f4f18fccf3a00e2b48c' 'fb856b9689bdc4c52f8ae999057f89fc'
    '4fb252cd4bcee57b573937e3c88974cc' '3b851898d3347cd4d6890b79c9a8a0f0'
    '58167f247e8f8ad8fb1def97c1de8f07' '52b42b61593def482dc968ffdd27f113'
    'e9e3ba84a214d2bcf96aa31b24f3bb5f' '9bdf02d9b659a70b7f327c923c1f4d80'
    '1730dae5f0ef0594a47ead5d1a4ac41b' '4f683f7b6970babb8c9f09bb12b7c1a6'
    'fbf479099aa252989fe4c81511abf4bf' '7ed65e08e8c952c4d9f6db0d73ef5426'
    'c2bd7cc1fa08d78ec5aa80632c21152b' '37c43d1d0c08c1b753a7bf952c763eb3'
    'ba74fdf4aca98f01579eca11acc6d882' '577e90cc40328c287acc921dae344c12'
    '1bdae6c015689349b704daebda924a5b' '2ce92656204f2fa63dad6dfa88e1458b'
    '091e2dc0efcb9155c2b4a05792d49a77' 'fe946d1775d58ded6050dec6af648f38'
    '221d924fb85f3597d8be0708d45f0f5a')
    build() {
    mkdir -p $startdir/pkg/usr/share/java/jakarta-commons
    cd $startdir/src/
    rm -rf *gz docs LICENSE*
    mv *.txt doc
    mv * $startdir/pkg/usr/share/java/jakarta-commons
    Since there are sometimes when copy&pasting PKGBUILDS (especially the ""s, IIRC), here a link to a pastebin
    My questions are: Are the jars to be put in /usr/share/java/jakarta-commons/$package/*.jar or plainly under jakarta-commons?
    Is it ok to delete all the docs, licenses + readmes?
    Sorry but it's very late now so I'll stop here and wait for your suggestions and tips, which will come hopefully..
    Greetings and good night,
    jakob

    Your absolutely right saying that never all commons packages would be used by just one program.
    I read the Java Packaging Guidelines again and it says that only commoly used and major libs should be sourced out to single packages. So the question is: Do any other packages in AUR or the official repos use some of the jakarta-commons projects so it would eventually pay to make single packages for them, or isn't it worth the hussle?
    I for my part now will leave the libs that are bundled with the package I wanted to upload at first in the package and use them.
    Thanks for your reply

  • Jakarta commons ServletFileUpload parseRequest return 0 items, migration ?

    I used ServletFileUpload.parseRequest(request) to get my list of items, with Struts 1.3, JBoss 4.2.2GA(migrated from JBoss 4.0.5GA) I am using JDK 1.5, on myEclipse 6.6 ( migrated from myEclipse 5.5.1GA).
    My file upload application used to work and ServletFileUpload.parseRequest(request) used to return non empty results as a List<FileItem>. I am not sure ( that's the frustrating part) what has changed, but now I am getting a empty list!
    I have switched to previous version of JBoss 4.0.5.GA, and myEclipse 5.5.GA and still it didn't work. I know what I need to have for this to work, i.e. :
    JSTL tag in JSP:
    <html:form enctype="multipart/form-data"....>
    <html:file styleId="uploadFile" property="uploadFile" size="40" />
    My FormBean has uploadFile as FormFile and getter and setter for it.
    I wrote a Utility class to include this apache commons fileupload API and my action class calls the Util class.
    The Util class looks like this:
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> items = (List<FileItem>) upload.parseRequest(request);
    Like I said, items used to return non-empty results and I was uploading file just fine. I am using Struts 1.3, Spring 2.0, which hasn't changed. And even though my myEclipse and JBoss version changed, I did revert back to the previous version just to test them and still am getting empty list.
    I am pulling my hair out on this, I'd really appreciate any input and if you need more info, I'd be happy to replenish them!
    Thanks in advance!

    amberbee1999 wrote:
    BalueC....I have checked the User guide and FAQ to see prior to posting. If indeed Struts has consumed the request and intercept it the 1st time and when it comes down to the Action that Request is already empty, then I am not sure why it USED TO WORK with the same code and all. I know there are other Filters or Servlet interceptors in the system as well. I am planning on installing another Filter and see if I see any InputStream.
    I guess THE PROBLEM is that it worked before /w same Struts version and all. There hasn't been any Struts config change or new filter or servlet interceptor installed either.As I don't have any practical experience with Struts, I can't help you much in detail. Just follow the given link how to do it properly. There's no need to do it all the "raw" way. Just let Struts handle it.

  • Jakarta Commons - Using FileUpload

    Hello Java Experts!
    I'm trying to use the FileUpload feature from Jakarta Commons 1.2 and I'm having a real tough time uploading a file to an http server and then calling that file back so that the user can view their newly uploaded file. I'm able to store the file successfully if I point my file to "C:\Temp", however if I try to point the file to "http:\\mywebserver\temp" or to a network location (which I mounted) "\\mynetwork\myfolder\temp" I get an exception FileNotFoundException.
    I've searched the web and have not been able to find a resolution to this point. Any help would be greatly appreciated.
    Here is my code so far:
    DiskFileItemFactory fileUpload = new DiskFileItemFactory();
    fileUpload.setSizeThreshold(10485760);
    final String serverLocation = "http:" + "\\" + "\\webserver:8080\\temp");
    ServletFileUpload upload = new ServletFileUpload(fileUpload);
    // Set overall request size constraint
    // Max. 4 MB : 1 MB = 1048576 bytes
    upload.setSizeMax(4194305);
    List items = upload.parseRequest(request);
    Iterator iter = items.iterator();
    while (iter.hasNext())
    FileItem item = (FileItem) iter.next();
    if(item.getSize() > 0)
    File savedFile = new File(serverLocation + "test.tif");
    item.write(savedFile); // This does not work, the file is never written
    }

    You're getting this message when you try to compile the servlet, right? Make sure that jar file is in your classpath. Having it in Tomcat's classpath is fine for when Tomcat runs things but it has nothing to do with compiling.

  • Apache commons fileUpload parseRequest finds no form fields-portalComponent

    Hello All,
    What am I trying?
    Developing a portal component (no JSP, no HTMLB).
    Have used Apache commons fileUpload libraries.
    What is the problem?
    parseRequest method works fine when I right click and preview from PCD.
    parseRequest method returns 0 html form elements when the portal component is tested under the TLN (via role -> workset -> iview)
    What else did I try?
    1.
    I looked in to Apache documentation - there are two different APIs for two different scenarios, Servlets and Portlets.
    My understanding is that I can not use portlets scenario in SAP Portal.
    Servlets scenario was what worked while doing a preview from PCD.
    2. I have looked into other solutions like using web dynpro and HTMLB to do file upload - not really a fan of either for various reasons.
    Can any one help?
    I am trying to understand why the HTTPServletRequest when parsed returns 0 form elements in the SAP Portal scenario.
    Thanks!

    Hello Ankur,
    You said:
    The reason for this is, unlike the request parameters, the multipart formdata is 'read-once-only' (because once
    the data is read off the ServletInputStream, it is gone! It cannot be read again). When you call a full portal request it goes through lot of gets before reaching your component.
    The above concept is not fully clear to me. I got a hint to something like this happening from this link that explains the need for portlets API scenario compared to a servlets scenario - Link: http://commons.apache.org/fileupload/using.html
    (Search for Servlets and Portlets within that link)
    I initially thought something like what you had replied would have happened. However, when I do a getContentLength on HTTPServletRequest in the SAP Portal mode (role -> workset -> iview), the size still includes that of the uploaded document. So like you said "it is gone! It cannot be read again" may not be accurate.
    My question still remains open.
    Edited by: Mohammed on Aug 24, 2009 6:29 PM

  • Problems with Apache Commons FileUpload

    I'm completely stymied here. I've been trying to get the Apache Commons FileUpload working with a JBoss 4.2 server, and having no luck whatsoever. The servlet is listed out here:
    package com.areteinc.servlets;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Iterator;
    import java.util.List;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileItemFactory;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;
    public class Filer extends HttpServlet {
         private Logger logger = Logger.getLogger(Filer.class);
         public Filer() {
              logger.setLevel(Level.DEBUG);
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              logger.debug("Serving up a GET page...");
              PrintWriter writer = resp.getWriter();
              StringBuffer response = new StringBuffer();
              response.append("<HTML><HEAD><TITLE>JENA File Uploader</TITLE></HEAD><BODY>");
              response.append("<FORM action=\"Filer\" method=\"POST\" enctype=\"multipart/form-data\">");
              response.append("Upload file: <input type=\"file\" name=\"file1\"/><br>");
              response.append("Upload file: <input type=\"file\" name=\"file2\"/><br>");
              response.append("<input type=submit value=\"Start upload\">");
              response.append("</BODY>");
              writer.println(response);
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              // First see if someone is uploading more than one file at a time...
              boolean isMultipart = ServletFileUpload.isMultipartContent(req);
              logger.debug("Received a POST request.  Multipart is flagged as " + isMultipart);
              // 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
              try {
                   List<FileItem> items = upload.parseRequest(req);
                   Iterator itr = items.iterator();
                   logger.debug("Size of upload is " + items.size() + " items.");
                   while(itr.hasNext()) {
                        FileItem item = (FileItem) itr.next();
                        logger.debug("Filename is " + item.getName());
              } catch (FileUploadException e) {
                   e.printStackTrace();
    }When run, I hit it with a get operation, and get the form. When I put in 2 forms (in reality, all i want to do is use one, but I'm tinkering), I see nothing in items list...
    Run, with 2 files selected to upload:
    13:50:15,421 DEBUG [Filer] Received a POST request. Multipart is flagged as true
    13:50:15,421 DEBUG [Filer] Size of upload is 0 items.
    I've tried variation after variation after variation, and it jst doesn't work. I'm using commons-fileupload-1.2.1.
    Help! :)

    On the client side, the client's browser must support form-based upload. Most modern browsers do, but there's no guarantee. For your case,
    The servlet can use the GET method parameters to decide what to do with the upload while the POST body of the request contains the file data to parse.
    When the user clicks the "Upload" button, the client browser locates the local file and sends it using HTTP POST, encoded using the MIME-type multipart/form-data. When it reaches your servlet, your servlet must process the POST data in order to extract the encoded file. You can learn all about this format in RFC 1867.
    Unfortunately, there is no method in the Servlet API to do this. Fortunately, there are a number of libraries available that do. Some of these assume that you will be writing the file to disk; others return the data as an InputStream.
    Jason Hunter's MultipartRequest (available from [http://www.servlets.com/])
    Apache Jakarta Commons Upload (package org.apache.commons.upload) "makes it easy to add robust, high-performance, file upload capability to your servlets and web applications"
    *CParseRFC1867 (available from [http://www.servletcentral.com/]).
    *HttpMultiPartParser by Anil Hemrajani, at the isavvix Code Exchange
    *There is a multipart/form parser availailable from Anders Kristensen ([http://www-uk.hpl.hp.com/people/ak/java/] at [http://www-uk.hpl.hp.com/people/ak/java/#utils].
    *JavaMail also has MIME-parsing routines (see the Purple Servlet References).
    *Jun Inamori has written a class called org.apache.tomcat.request.ParseMime which is available in the Tomcat CVS tree.
    *JSPSmart has a free set of JSP for doing file upload and download.
    *UploadBean by JavaZoom claims to handle most of the hassle of uploading for you, including writing to disk or memory.
    There's an Upload Tag in dotJ
    Once you process the form-data stream into the uploaded file, you can then either write it to disk, write it to a database, or process it as an InputStream, depending on your needs. See How can I access or create a file or folder in the current directory from inside a servlet? and other questions in the Servlets:Files Topic for information on writing files from a Servlet.
    Please note: that you can't access a file on the client system directly from a servlet; that would be a huge security hole. You have to ask the user for permission, and currently form-based upload is the only way to do that.
    I still have doubt if all the moentioned resources are alive or not

  • Jakarta Commons -- File Upload does not work with Application Server

    Hi ALl,
    I tried Jakarta Commons file upload. In the netbeans, I copied the common jar files "commons-io-1.2.jar" and "commons-fileupload-1.1.1.jar" in the
    netbeans-5.5\enterprise3\apache-tomcat-5.5.17\common\lib and set the class paths. It is working correctly when I compile and run from the netbeans. However, when I deployed in Sun Application Server PE 9.0, I am receiving the following errors. In Sun application I copied the above jars files to "C:\Sun\AppServer\jdk\jre\lib\ext"..
    I have read in several postings that it does not work this way but could find any solution. Any idea will be greatly appreciated.
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream
         org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:930)
         org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:863)
         org.apache.jsp.fileUpload_jsp._jspService(fileUpload_jsp.java:109)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:409)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:317)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
         com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
         org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
         com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
         com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
         com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
         com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    root cause
    java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream
         org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
         org.apache.jsp.fileUpload_jsp._jspService(fileUpload_jsp.java:76)
         org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:353)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:409)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:317)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)
         com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
         org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
         com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
         com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
         com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
         com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
         com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    note The full stack trace of the root cause is available in the Sun Java System Application Server Platform Edition 9.0 logs.
    Sun Java System Application Server Platform Edition 9.0
    Thank you,
    --Sam                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi All,
    I solved this few minutes after I posted this question. Thought I should share with everybody, just in case some one else need it.
    I copied these three files in the folder C:\Sun\AppServer\jdk\jre\lib\ext
    1. servelet-api.jar
    2. commons-io-1.2.jar
    3. commons-fileupload-1.1.1.jar
    No need to set any class path.
    Thanks

Maybe you are looking for