Fala pessoal, sou inciante no fórum, porém tenho um problema que esta me atormentando faz um bom tempo.
Faço upload normal com o rich:fileUpload para imagens até um mega, porém quando tento fazer para arquivos maiores que isso dá a seguite stack:
Jul 13, 2012 12:09:19 AM com.sun.faces.lifecycle.Phase handleBeforePhase
Advertência: org.ajax4jsf.request.MultipartRequest.parseRequest(MultipartRequest.java:388)
org.richfaces.component.FileUploadPhaselistener.beforePhase(FileUploadPhaselistener.java:63)
com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:367)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)
Já tentei muita coisa mas nada deu certo…
meu código é este
[code]
<?xml version="1.0" encoding="UTF-8"?> comGayaMapasWebFrontJavaServerFaces
javax.faces.CONFIG_FILES<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
javax.faces.DEFAULT_SUFFIX
.xhtml
facelets.REFRESH_PERIOD
0
facelets.DEVELOPMENT
true
javax.faces.STATE_SAVING_METHOD
server
org.richfaces.SKIN
blueSky
Ajax4jsf Filter
ajax4jsf
org.ajax4jsf.Filter
createTempFiles
true
maxRequestSize
0
forceparser
false
ajax4jsf
Faces Servlet
REQUEST
FORWARD
INCLUDE
Faces Servlet
javax.faces.webapp.FacesServlet
0
Faces Servlet
*.jsf
BASIC
[/code]
package com.gaya.mapas.web.front.ui;
import java.awt.Image;
import java.awt.image.RenderedImage;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import org.richfaces.event.UploadEvent;
import org.richfaces.model.UploadItem;
import com.gaya.mapas.pojos.Mapas;
import com.gaya.mapas.web.front.utilits.MediaData;
public class MapasUI extends UserBean {
private static final long serialVersionUID = 1L;
private Mapas mapas;
private byte[] arq;
private File file;
private String mapasList = "mapasList.xhtml";
private String mapasVisualizacao = "mapasVisualizacao.xhtml";
private String outPut = mapasList;
public void uploadArquivoListner(UploadEvent evento) {
try {
UploadItem item = evento.getUploadItem();
//arq = item.getData();
file = item.getFile();
mapas.setEndereco(item.getFileName());
} catch (Exception e) {
e.printStackTrace();
}
}
public String getOutPut() {
return outPut;
}
public void setOutPut(String outPut) {
this.outPut = outPut;
}
public Mapas getMapas() {
return mapas;
};
public void setMapas(Mapas mapas) {
this.mapas = mapas;
};
public Integer getId() {
return mapas.getId();
}
public void setId(Integer id) {
mapas.setId(id);
}
public Integer getTamanhoHorizontal() {
return mapas.getTamanhoHorizontal();
}
public void setTamanhoHorizontal(Integer tamanhoHorizontal) {
mapas.setTamanhoHorizontal(tamanhoHorizontal);
}
public Integer getTamanhoVertical() {
return mapas.getTamanhoVertical();
}
public void setTamanhoVertical(Integer tamanhoVertical) {
mapas.setTamanhoVertical(tamanhoVertical);
}
public String getNome() {
return mapas.getNome();
}
public void setNome(String nome) {
mapas.setNome(nome);
}
public Integer getEscala() {
return mapas.getEscala();
}
public void setEscala(Integer escala) {
mapas.setEscala(escala);
}
public String getDescricao() {
return mapas.getDescricao();
}
public void setDescricao(String descricao) {
mapas.setDescricao(descricao);
}
public String getLatitudeInicial() {
return mapas.getLatitudeInicial();
}
public void setLatitudeInicial(String latitudeInicial) {
mapas.setLatitudeInicial(latitudeInicial);
}
public String getLongitudeInicial() {
return mapas.getLongitudeInicial();
}
public void setLongitudeInicial(String longitudeInicial) {
mapas.setLongitudeInicial(longitudeInicial);
}
public String getLatitudeFinal() {
return mapas.getLatitudeFinal();
}
public void setLatitudeFinal(String latitudeFinal) {
mapas.setLatitudeFinal(latitudeFinal);
}
public String getLongitudeFinal() {
return mapas.getLongitudeFinal();
}
public void setLongitudeFinal(String longitudeFinal) {
mapas.setLongitudeFinal(longitudeFinal);
}
public Integer getMargemNorte() {
return mapas.getMargemNorte();
}
public void setMargemNorte(Integer margemNorte) {
mapas.setMargemNorte(margemNorte);
}
public Integer getMargemSul() {
return mapas.getMargemSul();
}
public void setMargemSul(Integer margemSul) {
mapas.setMargemSul(margemSul);
}
public Integer getMargenLest() {
return mapas.getMargenLest();
}
public void setMargenLest(Integer margenLest) {
mapas.setMargenLest(margenLest);
}
public Integer getMargemOest() {
return mapas.getMargemOest();
}
public void setMargemOest(Integer margemOest) {
mapas.setMargemOest(margemOest);
}
public String getEndereco() {
return mapas.getEndereco();
}
public void setEndereco(String endereco) {
mapas.setEndereco(endereco);
}
public void find() {
outPut = mapasList;
}
public void save() {
}
public void delete() {
}
public void visualizar() {
try {
if (file!= null && mapas != null && mapas.getEndereco() != null
//if (arq!= null && mapas != null && mapas.getEndereco() != null
&& !mapas.getEndereco().equals("")) {
outPut = mapasVisualizacao;
} else {
throw new Exception("Sem mapa inserido!!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void paint(OutputStream out, Object data) {
try {
if (data != null && data instanceof MediaData && mapas != null
&& mapas.getEndereco() != null
&& !mapas.getEndereco().equals("")) {
MediaData paintData = (MediaData) data;
InputStream is = new BufferedInputStream(
new FileInputStream(file));
Image image = ImageIO.read(is);
ImageIcon img = new ImageIcon(image);
//ImageIcon img = new ImageIcon(arq);
paintData.setHeight(img.getIconHeight());
paintData.setWidth(img.getIconWidth());
String s = mapas.getEndereco().substring(mapas.getEndereco().lastIndexOf(".") + 1, mapas.getEndereco().length());
ImageIO.write((RenderedImage) image,s,out);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
<f:view>
<f:loadBundle basename="messages" var="msg" />
<rich:panel>
<f:facet name="header">
<h:outputLabel value="#{msg.header_inserir_mapas}" />
</f:facet>
<h:panelGrid columns="2" columnClasses="upload,busca" width="100%">
<h:panelGrid columns="1" width="100%">
<h:form id="fomrMapas">
<h:panelGrid width="100%" columns="2" border="1" rules="all"
columnClasses="coluna1,coluna2">
<f:facet name="header">
<h:outputText value="#{msg.header_insira_valores_mapas}" />
</f:facet>
<h:outputLabel value="#{msg.label_id}" />
<h:inputText value="#{mapasUI.id}" />
<h:outputLabel value="#{msg.label_tamanho_horizontal}" />
<h:inputText value="#{mapasUI.tamanhoHorizontal}" />
<h:outputLabel value="#{msg.label_tamanho_vertical}" />
<h:inputText value="#{mapasUI.tamanhoVertical}" />
<h:outputLabel value="#{msg.label_nome}" />
<h:inputText value="#{mapasUI.nome}" />
<h:outputLabel value="#{msg.label_escala}" />
<h:inputText value="#{mapasUI.escala}" />
<h:outputLabel value="#{msg.label_descricao}" />
<h:inputText value="#{mapasUI.descricao}" />
<h:outputLabel value="#{msg.label_latitude_inicial}" />
<h:inputText value="#{mapasUI.latitudeInicial}" />
<h:outputLabel value="#{msg.label_longitude_inicial}" />
<h:inputText value="#{mapasUI.longitudeInicial}" />
<h:outputLabel value="#{msg.label_latitude_final}" />
<h:inputText value="#{mapasUI.latitudeFinal}" />
<h:outputLabel value="#{msg.label_longitude_final}" />
<h:inputText value="#{mapasUI.longitudeFinal}" />
<h:outputLabel value="#{msg.label_margem_norte}" />
<h:inputText value="#{mapasUI.margemNorte}" />
<h:outputLabel value="#{msg.label_margem_sul}" />
<h:inputText value="#{mapasUI.margemSul}" />
<h:outputLabel value="#{msg.label_margen_lest}" />
<h:inputText value="#{mapasUI.margenLest}" />
<h:outputLabel value="#{msg.label_margem_oest}" />
<h:inputText value="#{mapasUI.margemOest}" />
</h:panelGrid>
<rich:fileUpload
fileUploadListener="#{mapasUI.uploadArquivoListner}"
acceptedTypes="jpeg,jpg,gif,png,bmp" maxFilesQuantity="1"
listHeight="40px" listWidth="100%"
ontyperejected="alert('#{msg.erroArquivo}');" />
<h:panelGrid columns="4" width="100%">
<a4j:commandButton value="#{msg.visualizar}"
action="#{mapasUI.visualizar}" reRender="outPut"
ajaxSingle="true" />
<a4j:commandButton value="#{msg.buscar}" action="#{mapasUI.find}"
reRender="outPut" ajaxSingle="true" />
<a4j:commandButton value="#{msg.limpar}" />
<a4j:commandButton value="#{msg.salvar}" />
</h:panelGrid>
</h:form>
</h:panelGrid>
<a4j:outputPanel id="painel-conteudo-mapas" width="100%">
<a4j:include viewId="#{mapasUI.outPut}" id="outPut" />
</a4j:outputPanel>
</h:panelGrid>
</rich:panel>
</f:view>
</html>
Estou a muito tempo nisso, por favor me ajudem :oops: