Dúvida com inputFileUpload do TOMAHAWK

0 respostas
MnF

Procurei aqui no forum, mas em alguns topicos não foram respondidos, e outros estão confusos e de anos atras.
estou com uma duvida pois quando eu seto a imagem e mando cadastrar executa os métodos de cadastro no banco, mas o método do upload
da exception de nullPointerException segue abaixo os codes.

os jars do myfaces pro tomahawk está configurado.

web.xml (não tenho certeza se está correto o xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <filter>
        <filter-name>MyFacesExtensionsFilter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
        <init-param>
            <param-name>uploadMaxFileSize</param-name>
            <param-value>5 MB</param-value>
        </init-param>
    </filter>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

form do cadastro.jsp

<h:form>
//aqui tem outros inputs que quando mando cadastrar eles executa! mas o upload não
<t:outputLabel value="Imagem: " for="upImgPeixe"/>
<t:inputFileUpload id="upImgPeixe" accept="jpg, bmp, png" storage="file" value="#{Peixe.imagemUpada}"/>
<t:outputText value="File Uploaded Successfully." rendered="#{Peixe.rendSuccess}" style="color:green;font-weight:bold"/>
<t:outputText value="Error in File Uploading." rendered="#{Peixe.rendFailure}" style="color:red;font-weight:bold"/>
<h:commandLink value="Cadastrar" action="#{Peixe.chamaMetodoInserir}"/>
 </h:form>

método “chamaMetodoInserir” e método upload

public String chamaMetodoInserir() throws SQLException, IOException {
          try {
            //outros métodos dos outros inputs.
            upload();
        } catch (SQLException ex) {
            Logger.getLogger(Peixe.class.getName()).log(Level.SEVERE, null, ex);
        }
}

public String upload() throws IOException{
    try {
      System.out.println("1");
      long size = this.imagemUpada.getSize(); // ELE  ERRO AQUI e vai pro CATCH :s
      System.out.println("size da imagem é :"+ size );
      InputStream stream = this.imagemUpada.getInputStream();
      System.out.println("2");
      
      byte [] buffer = new byte[(int)size];
      stream.read(buffer, 0, (int)size);
      stream.close();
      this.rendSuccess=true;
      this.rendFailure=false;
      System.out.println("File Upload Successful.");
      return "ok";
    }
    catch (Exception ioe) {
      System.out.println("File Upload Unsuccessful. "+ioe);
      this.rendSuccess=false;
      this.rendFailure=true;
      return "no";
        }
  }

Erro:

INFO: 1
INFO: File Upload Unsuccessful. java.lang.NullPointerException

Criado 14 de maio de 2010
Respostas 0
Participantes 1