Uploaded image for project: 'Commons FileUpload'
  1. Commons FileUpload
  2. FILEUPLOAD-208

CLONE - [fileupload] Use the ServletRequest encoding as default

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.2
    • 1.3.1
    • None
    • All supported environments.

    Description

      The fileupload package operates on a ServletRequest to conveniently extract it's
      content. The ServletRequest.getCharacterEncoding() method "Returns the name of
      the character encoding used in the body of this request", and thus should be
      used as a default by the fileupload processing as well.

      Further, whether from the servlet request or an explicit set on the FileUpload
      instance, the encoding should propagate to the FileItem (again by default,
      unless it's overridden by a part content type header or explicit set).

      Currently, in order to have a UTF-8 request properly parsed, one must first call

      request.setCharacterEncoding("UTF-8")

      then call

      diskFileUpload.setHeaderEncoding("UTF-8")

      and finally use

      fileItem.getString("UTF-8")

      There's no reason for this duplicity - if the first is set, the rest should
      propagate by default, unless explicitly overridden. This is a source for bugs
      and unneeded extra work (it took quite a while to figure these out, after
      examining the source code - this work can be saved for other developers, after
      all, that's what this package is for!).

      Attachments

        Issue Links

          Activity

            People

              jochen@apache.org Jochen Wiedmann
              fribeiro Fernando Ribeiro
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: