6 Replies Latest reply on Nov 11, 2011 10:58 AM by Christian De los Ríos

    problem uploading a pdf file

    Jaime Martin Apprentice

      After uploading without any problem xml files now I´m trying to upload a pdf file from a form with rich:rich:fileUpload and what seemed to be a piece of cake has become a nightmare.
      To start with this is my web.xml config:

       <filter>
       <filter-name>Seam Filter</filter-name>
       <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
       <init-param>
       <param-name>maxRequestSize</param-name>
       <param-value>104860000</param-value>
       </init-param>
       </filter>
      
       <filter-mapping>
       <filter-name>Seam Filter</filter-name>
       <url-pattern>/*</url-pattern>
       </filter-mapping>
      
      
      <filter>
      <filter-name>Seam Multipart Filter</filter-name>
       <filter-class>org.jboss.seam.web.MultipartFilter2</filter-class>
      </filter>
      <filter-mapping>
       <filter-name>Seam Multipart Filter</filter-name>
       <url-pattern>*.seam</url-pattern>
      </filter-mapping>
      


      and this is my components.xml:
       <web:multipart-filter create-temp-files="true"
       max-request-size="104860000"
       url-pattern="*.seam"/>
      
      


      In the form I have several fields, one of them is to upload a pdf or xml file.

       <h:form id="apoderado" styleClass="edit" enctype="multipart/form-data">
      ...
       <s:decorate id="asdf" template="layout/edit.xhtml">
       <div align="center">
       <ui:define name="label">Fichero firma (pdf)</ui:define>
       <rich:fileUpload id="upload"
       fileUploadListener="#{ApoderadoEdit.fileUploadListener}"
       acceptedTypes="pdf,xml"
       maxFilesQuantity="1">
       <f:facet name="label">
       <h:outputText value="{_KB}KB de {KB}KB cargados --- {mm}:{ss}" />
       </f:facet>
       </rich:fileUpload>
       <img src="Captcha.jpg"/>
      </div>
      
      </s:decorate>
      ...
      


      And this is the listener:
      public void fileUploadListener(org.richfaces.event.UploadEvent event)
      {
       try{
       if(event==null){
       log.debug("null upload event");
       return;
       }
       UploadItem item = event.getUploadItem();
       String name = "unnamed_attachment";
       byte[] data = item.getData();
       generadorDirectorio();
       if (item.isFile()) {
       data = item.getData();
       File file = item.getFile();
       name = FilenameUtils.getName(item.getFileName());
       String fileName=Util.PATH+name;
       File outputFile = new java.io.File(fileName);
       FileReader in = new FileReader(file);
       FileWriter out = new FileWriter(outputFile);
       int c;
       while ((c = in.read()) != -1)
       out.write(c);
      
       in.close();
       out.close();
       }
       }catch (Exception e) {
       e.printStackTrace();
       }
      }
      
      


      With xml files it works, but when I upload a pdf it saves a pdf with different size (bigger) and when I try to open it it asks for a Document open password. I have not configured anything relate to pdf file protection anywhere. In fact Original pdf selected to be uploaded has no protection at all.
      thanks in advance,
      Jaime