[RESOLVIDO] fileUpload nulo

1 resposta
T

Boa Noite a todos,
Estou com o seguinte problema, o meu fileupload sempre fica nulo, abaixo segue meu código

Web xml
<?xml version="1.0"?>
<web-app version="3.0" 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_3_0.xsd">
	 <display-name>SexShop</display-name>
	 <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>*.jsf</url-pattern>
	 </servlet-mapping>
	 
	 <filter>
	 	<filter-name>PrimeFaces FileUpload Filter</filter-name>
	 	<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
	 </filter>
	 <filter-mapping>
	 	<filter-name>PrimeFaces FileUpload Filter</filter-name>
	 	<servlet-name>Faces Servlet</servlet-name>
	 </filter-mapping>
	 
	 <filter>
	 	<filter-name>HibernateFilter</filter-name>
	 	<filter-class>br.com.sexshop.filter.HibernateSessionRequestFilter</filter-class>
	 </filter>
	 <filter-mapping>
	 	<filter-name>HibernateFilter</filter-name>
	 	<url-pattern>*.jsf</url-pattern>
	 </filter-mapping>
	 <context-param>
	 	<param-name> javax.faces.DEFAULT_SUFFIX </param-name>
	 	<param-value> .xhtml </param-value>
	 </context-param>
</web-app>
Meu Bean
@ManagedBean(name="itemBean")
@RequestScoped
public class ItemBean {
	private String destino = "C:\\tmp\\";
	private UploadedFile file;
	
	public String getDestino() {
		return destino;
	}
	public void setDestino(String destino) {
		this.destino = destino;
	}
	public UploadedFile getFile() {
		return file;
	}
	public void setFile(UploadedFile file) {
		this.file = file;
	}

        public String upload(){
	    if(file != null) {  
                 FacesMessage msg = new FacesMessage("Succesful", file.getFileName() + " is uploaded.");  
                 FacesContext.getCurrentInstance().addMessage(null, msg);  
            } else{
        	System.out.println("file null");
           }
           return null;
	}
}
Meu arquivo xhtml
<h:form>
	<p:fileUpload value="#{itemBean.file}" mode="simple" update="grow1"/>
	<p:commandButton  value="enviar" ajax="false" action="#{itemBean.upload()}"/> 
</h:form>
				
<h:form>
	<p:growl id="grow1" showDetail="true"/>
</h:form>

Eu estou mesmo é precisando salvar a imagem em uma pasta e enviar somente o nome da imagem para o banco de dados
seria um crud com este componente do primefaces, mas eu conseguindo resolver este problema, depois corro atras desta parte do crud
Desde já agradeço a todos que me ajudarem.

1 Resposta

T

Caso alguém tenha a mesma dificuldade que tive, vou descrever a solução,

bastava ter adicionado um enctype ao form, como descrito abaixo.

<h:form enctype="multipart/form-data">
Criado 27 de agosto de 2012
Ultima resposta 28 de ago. de 2012
Respostas 1
Participantes 1