[RESOLVIDO]Problema com fileUpload Primefaces

Galera estou fazendo um teste com o fileUpload do primefaces e está dando um erro, ainda não achei a solução

Controller

public void processFileUpload(FileUploadEvent event) throws IOException {
		try {
			UploadedFile arq = event.getFile();
			InputStream in = new BufferedInputStream(arq.getInputstream());
			File file = new File("C://arquivosDiogo//" + arq.getFileName());

			FileOutputStream fout = new FileOutputStream(file);

			while (in.available() != 0) {
				fout.write(in.read());
			}
			fout.close();
			FacesMessage msg = new FacesMessage("O Arquivo ", file.getName()
					+ " salvo.");
			FacesContext.getCurrentInstance().addMessage("msgUpdate", msg);
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
	}

.xhtml

<p:fileUpload label="Procurar..." allowTypes="*.doc"
	id="enviaProjeto"
	fileUploadListener="#{documentacaoController.processFileUpload}"
        sizeLimit="9999999" auto="true" />

web.xml

	<filter>
		<filter-name>PrimeFaces FileUpload Filter</filter-name>
		<filter-class>
			org.primefaces.webapp.filter.FileUploadFilter
		</filter-class>
		<init-param>
			<param-name>uploadDirectory</param-name>
			<param-value>C:/tempDiogo</param-value>
		</init-param>
		<init-param>
			<param-name>thresholdSize</param-name>
			<param-value>10000</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>PrimeFaces FileUpload Filter</filter-name>
		<servlet-name>Faces Servlet</servlet-name>
	</filter-mapping>

ERRO

GRAVE: oversubscribed literal/length tree
java.util.zip.ZipException: oversubscribed literal/length tree
	at java.util.zip.InflaterInputStream.read(Unknown Source)
	at java.util.zip.GZIPInputStream.read(Unknown Source)
	at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
	at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
	at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
	at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
	at java.io.ObjectInputStream.<init>(Unknown Source)
	at com.sun.faces.renderkit.ApplicationObjectInputStream.<init>(ApplicationObjectInputStream.java:81)
	at com.sun.faces.spi.SerializationProviderFactory$JavaSerializationProvider.createObjectInputStream(SerializationProviderFactory.java:211)
	at com.sun.faces.renderkit.ClientSideStateHelper.initInputStream(ClientSideStateHelper.java:340)
	at com.sun.faces.renderkit.ClientSideStateHelper.doGetState(ClientSideStateHelper.java:210)
	at com.sun.faces.renderkit.ClientSideStateHelper.getState(ClientSideStateHelper.java:192)
	at com.sun.faces.renderkit.ResponseStateManagerImpl.getState(ResponseStateManagerImpl.java:101)
	at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:207)
	at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:177)
	at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:131)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:430)
	at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:143)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:199)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:110)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

Alguém já passou por isso, saberia me dizer o que está errado?

Ele gera o .temp mais não joga na pasta correta.

Opa,

Veja se essa solução ajuda:

FileUploadController.java:

@ManagedBean
public class FileUploadController { 

  public void handleFileUpload(FileUploadEvent event) throws FileNotFoundException, IOException {

        logger.info("Uploaded: {}", event.getFile().getFileName());

        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
        FacesContext.getCurrentInstance().addMessage("teste", msg);

        byte[] conteudo = event.getFile().getContents();
        String caminho = "C:\\temp\\" + event.getFile().getFileName();
        FileOutputStream fos = new FileOutputStream(caminho);
        fos.write(conteudo);   
        fos.close();
     }

}

imagem.xhtml:

 &lt;p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
                          mode="advanced"
                          update="messages"
                          auto="true"
                          sizeLimit="1000000"
                          allowTypes="png,gif,jpg"/&gt;

[]'s

Consegui galera o problema estava no web.xml, tinha que alterar para “server”

Ficou assim

<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>

[quote=getAdicted]Opa,

Veja se essa solução ajuda:

FileUploadController.java:

@ManagedBean
public class FileUploadController { 

  public void handleFileUpload(FileUploadEvent event) throws FileNotFoundException, IOException {

        logger.info("Uploaded: {}", event.getFile().getFileName());

        FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
        FacesContext.getCurrentInstance().addMessage("teste", msg);

        byte[] conteudo = event.getFile().getContents();
        String caminho = "C:\\temp\\" + event.getFile().getFileName();
        FileOutputStream fos = new FileOutputStream(caminho);
        fos.write(conteudo);   
        fos.close();
     }

}

imagem.xhtml:

 &lt;p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
                          mode="advanced"
                          update="messages"
                          auto="true"
                          sizeLimit="1000000"
                          allowTypes="png,gif,jpg"/&gt;

[]'s[/quote]

Vlw ae… me ajudou muito!