commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McGrady <m...@michaelmcgrady.com>
Subject Re: FileUpload Parameter Handling
Date Thu, 07 Oct 2004 21:37:23 GMT
What are you doing with commons upload?  You should be able to get
whatever values are present as values of parameter keys in the form.
There is nothing about a multipart upload that precludes regular
parameters.  For example, I parse the DiskFileUpload as follows:


   DiskFileUpload dfu = new DiskFileUpload();
   dfu.setSizeMax(fileSizeLimit);
   dfu.setSizeThreshold(UploadConstant.MEMORY_BUFFER_SIZE);
   dfu.setRepositoryPath(tmpFolder);
   if(encoding != null) {
     dfu.setHeaderEncoding(encoding);
   }
   List list = null;
   try {
     list = dfu.parseRequest(req);
     StdOut.log("log.development","UploadParser list = " + list);
   } catch(FileUploadException fue) {
     throw new IOException(fue.getMessage());
   }

And my log test (StdOut) that you see here results in

UploadParser list =
[org.apache.commons.fileupload.DefaultFileItem@1d56bbe,
org.apache.commons.fileupload.DefaultFileItem@94a28e,
org.apache.commons.fileupload.DefaultFileItem@3c40f0,
org.apache.commons.fileupload.DefaultFileItem@1cb4cae,
org.apache.commons.fileupload.DefaultFileItem@176ee6,
org.apache.commons.fileupload.DefaultFileItem@71d29a,
org.apache.commons.fileupload.DefaultFileItem@b98a06,
org.apache.commons.fileupload.DefaultFileItem@114a3c6,
org.apache.commons.fileupload.DefaultFileItem@c4cee,
org.apache.commons.fileupload.DefaultFileItem@18ec029,
org.apache.commons.fileupload.DefaultFileItem@e9c592,
org.apache.commons.fileupload.DefaultFileItem@1a9fcea,
org.apache.commons.fileupload.DefaultFileItem@11b99c4,
org.apache.commons.fileupload.DefaultFileItem@10c29fe,
org.apache.commons.fileupload.DefaultFileItem@1991ba7]
UploadParser fieldName = uploadedFile1
UploadParser fieldName = uploadedFile2
UploadParser fieldName = uploadedFile3
UploadParser fieldName = uploadedFile4
UploadParser fieldName = uploadedFile5
UploadParser fieldName = uploadedFile6
UploadParser fieldName = uploadedFile7
UploadParser fieldName = uploadedFile8
UploadParser fieldName = uploadedFile9
UploadParser fieldName = uploadedFile10
UploadParser fieldName = uploadedFile11
UploadParser fieldName = uploadedFile12
UploadParser fieldName = submit.dispatch.x
UploadParser fieldName = submit.dispatch.y
UploadParser fieldName = fileOp

 From a page that has twelve <input type='file'> tags.  Hope this helps.

Michael McGrady

Adam Pelletier wrote:

> No, this is just a plain servlet.  Another guy wrote that regular form 
> params show up in in the DiskFileUpload.
>
> When you iterate through the values, you can test to see
> if they are form fields with "isFormField"
>
>
> Example:......................................
> DiskFileUpload upload = new DiskFileUpload();
> List           files  = upload.parseRequest(request);
> Iterator       it             = files.iterator();
>
> while(it.hasNext()){
>   FileItem item = (FileItem)it.next();
>   if(item.isFormField()){....
>
>
> But that still breaks my architecture - although I can get to that 
> architecture if I have to.
>
> Adam
>
> ----- Original Message ----- From: "Michael McGrady" 
> <mike@michaelmcgrady.com>
> To: "Jakarta Commons Users List" <commons-user@jakarta.apache.org>
> Sent: Thursday, October 07, 2004 11:45 AM
> Subject: Re: FileUpload Parameter Handling
>
>
>> Are you using Struts, Adam?
>>
>> Michael McGrady
>>
>> Adam Pelletier wrote:
>>
>>> I'm using commons-fileupload-1.0.jar.
>>>
>>> I'm trying to upload a file using enctype="multipart/form-data".
>>>
>>> However, I'm also passing a hidden form input element with an ID 
>>> stuck in it.  This ID is critical for the state of the servlet.  
>>> Oddly, when I use the enctype="multipart/form-data", my 
>>> HttpServletRequest no longer seems to contain the parameters usually 
>>> accessible by req.getParameter("ID");. In the debugger I see that 
>>> the parameter hashtable is empty.  As a test I remove 
>>> enctype="multipart/form-data" from the form.  The parameters then 
>>> show up properly in the parameter map, but now the file is not 
>>> accessible.
>>> Is there a way to utilize both the file uploading capability and 
>>> still have access to the parameter list as it comes in as a 
>>> HttpServletRequest?
>>>
>>> Thanks in advance.
>>> Adam
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> 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