Pessoal estou tentando usar o fileUpload do richfaces mas nao esta funcionando o upload veja meu codigo:
<rich:fileUpload acceptedTypes="gif,jpg,png" uploadData="#{veiculos.uploads}"
fileUploadListener="#{veiculos.upload}" addControlLabel="Upload"
maxFilesQuantity="25" listHeight="340" listWidth="450" clearControlLabel="Limpar"
>
<f:facet name="label">
<h:outputText value="{_KB}KB from {KB}KB uploaded --- {mm}:{ss}" />
</f:facet>
</rich:fileUpload>
O metodo upload nunca eh chamado pois nao da os print na tela,lembrando que este fileUpload se encontra em um modalPanel,
Alguem pode ajudar?
public String loadExternalPath(){
FacesContext aFacesContext = FacesContext.getCurrentInstance();
ServletContext sc = (ServletContext)aFacesContext.getExternalContext().getContext();
String filepath = sc.getContextPath()+DATA_PATH;
System.out.println("sc.getContextPath() em loadExternal.........:"+sc.getContextPath());
System.out.println("file path em loadExternal.........:"+filepath);
return filepath;
}
public void upload(UploadEvent event){
try{
System.out.println("executou Metodo..................:");
UploadItem item = event.getUploadItem();
String fileName = item.getFileName();
// e cria seu arquivo
// disco/servidor/sua_aplicacao/..../uploads/arquivo.xxx
File file = new File(loadExternalPath(), fileName);
System.out.println("file path em Upload.........:"+loadExternalPath());
FileInputStream fis = new FileInputStream(item.getFile());
FileOutputStream out = new FileOutputStream(file.getPath());
int bytes = 0;
byte[] bteFile = new byte[1024];
salvarDependencias(event.getUploadItem().getFileName());
while ((bytes = fis.read(bteFile)) != -1) {
out.write(bteFile, 0, bytes);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("arquivo upload..............."+event.getUploadItem().getFileName());
System.out.println("arquivo upload..............."+event.getUploadItem().getFile().getAbsolutePath());
}
public void salvarDependencias(String imagemPath){
IDaoGeneric<Imagem, Integer> idao = new DaoImagem();
IDaoGeneric<ImagemVeiculo, Integer> idaoimv = new DaoImagemVeiculo();
Imagem im = new Imagem();
im.setPath(imagemPath);
idao.salvar(im);
ImagemVeiculo imv = new ImagemVeiculo();
ImagemVeiculoPK imvpk = new ImagemVeiculoPK(im.getImagemId(),getVeiculos().getId());
imv.setImagem(im);
imv.setVeiculos(this.getVeiculos());
imv.setImagemVeiculoPK(imvpk);
idaoimv.salvar(imv);
}
Obrigado.
Abraços.