commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Cooper <mfncoo...@gmail.com>
Subject Re: Rename File While Upload
Date Mon, 01 Nov 2004 21:51:52 GMT
On Mon, 1 Nov 2004 16:37:02 -0500, Vito Campanelli
<vito.campanelli@mcgill.ca> wrote:
> Hi Martin,
> 
> You totally lost me.

Each input field in your form will be provided to you as a FileItem
instance in the list returned by parseRequest(). In your example
below, that list will contain two entries:

1) The 'file1' field, for which isFormField() will return false.
2) The 'regno' field, for which isFormField() will return true.

I had hoped that this was clear in the User Guide, which I assume you've read:

http://jakarta.apache.org/commons/fileupload/using.html

See the section on "Processing the uploaded items". If that's not
clear, it would be good to know how I could better explain this.

--
Martin Cooper


> If my File Upload Page looks like this:
> 
> <FORM name="filesForm" action="ProcessFileUpload.jsp"
>    method="post" enctype="multipart/form-data">
>        File 1:<input type="file" name="file1"/><br/>
>        Regno: <input type="text" name = "regno"/><br/>
>        <input type="submit" name="Submit" value="Upload Files"/>
>    </FORM>
> 
> Can you help me with what my ProcessUploadFile.jsp will need?
> 
> 
> 
> Thanks
> Vito
> 
> -----Original Message-----
> From: Martin Cooper [mailto:mfncooper@gmail.com]
> Sent: Monday, November 01, 2004 4:18 PM
> To: Vito Campanelli
> Cc: Jakarta Commons Users List
> Subject: Re: Rename File While Upload
> 
> On Mon, 1 Nov 2004 15:44:16 -0500, Vito Campanelli
> <vito.campanelli@mcgill.ca> wrote:
> > Hi Martin,
> >
> > One last question...
> >
> > I added a text field in my UploadFiles.html file called "code"
> > In my ProcessFileUpload.jsp file I try to reference this field with
> the
> > request.getParameter("code"), but I kept getting a null value. Is this
> > something to do with the commons package?
> 
> It's not so much related to FileUpload as it is to the nature of
> multipart requests in general. The container does not parse these
> requests, which is why you need FileUpload in the first place, and why
> request.getParameter() returns null.
> 
> Your "code" field will be one of the FileItem entries in the list
> returned by parseUpload(), and the FileItem.isFormField() method will
> return true for this item.
> 
> By the way, I strongly recommend moving your FileUpload code into a
> servlet, rather than having binary upload handling in JSP pages, which
> are designed for text-based content.
> 
> --
> Martin Cooper
> 
> On Mon, 1 Nov 2004 15:44:16 -0500, Vito Campanelli
> <vito.campanelli@mcgill.ca> wrote:
> > Hi Martin,
> >
> > One last question...
> >
> > I added a text field in my UploadFiles.html file called "code"
> > In my ProcessFileUpload.jsp file I try to reference this field with
> the
> > request.getParameter("code"), but I kept getting a null value. Is this
> > something to do with the commons package?
> >
> > ===ProcessFileUpload.jsp
> > <%@ page contentType="text/html;charset=windows-1252"%>
> > <%@ page import="org.apache.commons.fileupload.DiskFileUpload"%>
> > <%@ page import="org.apache.commons.fileupload.FileItem"%>
> > <%@ page import="java.util.List"%>
> > <%@ page import="java.util.Iterator"%>
> > <%@ page import="java.io.File"%>
> > <html>
> > <head>
> > <meta http-equiv="Content-Type" content="text/html;
> > charset=windows-1252">
> > <title>Process File Upload</title>
> > </head>
> > <%
> >        System.out.println("Content Type ="+request.getContentType());
> >        out.println(request.getParameterValues("code"));
> >
> >        DiskFileUpload fu = new DiskFileUpload();
> >        // If file size exceeds, a FileUploadException will be thrown
> >        fu.setSizeMax(1000000);
> >
> >        List fileItems = fu.parseRequest(request);
> >        Iterator itr = fileItems.iterator();
> >
> >        while(itr.hasNext()) {
> >          FileItem fi = (FileItem)itr.next();
> >
> >          //Check if not form field so as to only handle the file
> inputs
> >          //else condition handles the submit button input
> >          if(!fi.isFormField()) {
> >            System.out.println("\nNAME: "+fi.getName());
> >            System.out.println("SIZE: "+fi.getSize());
> >            //System.out.println(fi.getOutputStream().toString());
> >            File fNew= new File(application.getRealPath("/document"),
> > fi.getName());
> >            //File fNew= new File(application.getRealPath("/document"),
> > "test"+fi.getContentType());
> >
> >            System.out.println(fNew.getAbsolutePath());
> >            fi.write(fNew);
> >          }
> >          else {
> >            System.out.println("Field ="+fi.getFieldName());
> >          }
> >        }
> > %>
> > <body>
> > Upload Successful!!
> > </body>
> > </html>
> > ======
> >
> >
> >
> >
> > Thanks
> > Vito
> >
> > -----Original Message-----
> > From: Martin Cooper [mailto:mfncooper@gmail.com]
> > Sent: Monday, November 01, 2004 3:33 PM
> > To: Vito Campanelli
> > Cc: Jakarta Commons Users List
> > Subject: Re: Rename File While Upload
> >
> > On Mon, 1 Nov 2004 15:28:52 -0500, Vito Campanelli
> > <vito.campanelli@mcgill.ca> wrote:
> > > Thanks Martin, but how can I get the extension? .doc, .pdf, .xls?
> >
> > FileItem.getName() gives you the filename as it was supplied by the
> > browser. Assuming this has the extension on it, you can extract it
> > from that.
> >
> > --
> > Martin Cooper
> >
> > > Thanks
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Martin Cooper [mailto:mfncooper@gmail.com]
> > > Sent: Monday, November 01, 2004 3:06 PM
> > > To: Jakarta Commons Users List
> > > Subject: Re: Rename File While Upload
> > >
> > > On Mon, 1 Nov 2004 14:43:08 -0500, Vito Campanelli
> > > <vito.campanelli@mcgill.ca> wrote:
> > > > Hi Martin,
> > > >
> > > > Thanks for the reply.
> > > >
> > > > My user uploads a file filename.doc, once the file gets uploaded
> or
> > > > before, I would like to give it a more meaningful name
> > > > (firstname_lastname.doc).
> > > >
> > > > Is this possible? Right now I am using the following:
> > > >
> > > > Runtime r = Runtime.getRuntime();
> > > >            r.exec("cmd /c rename " ......)
> > > >
> > > > I just wonder is there something else I could use.
> > >
> > > You have complete control over what the actual file name is, since
> you
> > > can pass whatever name you want to the write() method.
> > >
> > > --
> > > Martin Cooper
> > >
> > > > Thanks
> > > > Vito
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Martin Cooper [mailto:mfncooper@gmail.com]
> > > > Sent: Monday, November 01, 2004 2:08 PM
> > > > To: Jakarta Commons Users List
> > > > Subject: Re: Rename File While Upload
> > > >
> > > > On Mon, 1 Nov 2004 12:27:52 -0500, Vito Campanelli
> > > > <vito.campanelli@mcgill.ca> wrote:
> > > > > Hi,
> > > > >
> > > > > I am using the FileUpload 1.0 with success.
> > > > >
> > > > > My question is, is there anyway to rename the file before it
> gets
> > > > > uploaded?
> > > >
> > > > I'm not entirely sure I understand what you mean by this. It's not
> > > > possible to rename the file on the local disk before uploading. On
> > the
> > > > other hand, it is entirely your choice as to whether or not to use
> > the
> > > > file name supplied by the browser when the file is uploaded.
> > > >
> > > > Perhaps you could clarify what it is that you are trying to do?
> > > >
> > > > --
> > > > Martin Cooper
> > > >
> > > > > Thanks in advance.
> > > > >
> > > > > Vito
> > > > >
> > > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> commons-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail:
> > commons-user-help@jakarta.apache.org
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> commons-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail:
> > commons-user-help@jakarta.apache.org
> > > >
> > > >
> > >
> > >
> ---------------------------------------------------------------------
> > >
> > >
> > > To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail:
> commons-user-help@jakarta.apache.org
> > >
> > >
> >
> >
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message