stefano     02/05/19 15:57:00

  Modified:    src/java/org/apache/cocoon/components/request/multipart Tag:
                        cocoon_2_0_3_branch MultipartParser.java
  Log:
  allow the multipart/form-data parser to understand various encodings
  based on what is indicated by the request (NOTE: I use a servlet filter
  up front that wraps incoming requests to cocoon and sets the
  encoding), this allows, for example, to upload an image and a chinese text
  together with no problems (yes, I've tested it :-)
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +6 -2      
xml-cocoon2/src/java/org/apache/cocoon/components/request/multipart/MultipartParser.java
  
  Index: MultipartParser.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/request/multipart/MultipartParser.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- MultipartParser.java      27 Feb 2002 20:21:22 -0000      1.1
  +++ MultipartParser.java      19 May 2002 22:57:00 -0000      1.1.2.1
  @@ -72,7 +72,7 @@
    * FilePart: file part
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Jeroen ter Voorde</a>
  - * @version CVS $Id: MultipartParser.java,v 1.1 2002/02/27 20:21:22 dims Exp $
  + * @version CVS $Id: MultipartParser.java,v 1.1.2.1 2002/05/19 22:57:00 stefano Exp 
$
    */
   public class MultipartParser extends Hashtable {
   
  @@ -100,6 +100,8 @@
       /** Field maxUploadSize           */
       private int maxUploadSize;
   
  +    /** Field characterEncoding       */
  +    private String characterEncoding;
       /**
        * Constructor, parses given request
        *
  @@ -125,6 +127,8 @@
           this.allowOverwrite = allowOverwrite;
           this.silentlyRename = silentlyRename;
           this.maxUploadSize = maxUploadSize;
  +        this.characterEncoding = request.getCharacterEncoding();
  +        if (this.characterEncoding == null) this.characterEncoding = "ISO-8859-1";
   
           if (request.getContentLength() > maxUploadSize) {
               throw new IOException("Content length exceeds maximum upload size");
  @@ -283,7 +287,7 @@
           while (in.getState() == TokenStream.STATE_READING) {
               int read = in.read(buf);
   
  -            value.append(new String(buf, 0, read));
  +            value.append(new String(buf, 0, read, this.characterEncoding));
           }
   
           String field = (String) headers.get("name");
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to