[RESOLVIDO]File Upload - PrimeFaces - Problema com contexto

1 resposta
caputojf1

Galera! Seguinte,

Quero salvar documentos enviados dentro do contexto do projeto na pasta docs...

Ex.: http://localhost:8080/SISTEMA/docs

ele teria que pegar o contexto C:\desenv\workspace\SISTEMA\WebContent\docs

mas ele pega o contexto C:\desenv\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\SISTEMA\docs

como funciona?

Segue o código:

MB

@ManagedBean
@SessionScoped
public class DocumentosController {

	private StreamedContent imagem;	
	private Documento arquivo;

	public void handleFileUpload(FileUploadEvent event) {  
		try {
			arquivo = new Documento();
			imagem = new DefaultStreamedContent(event.getFile().getInputstream());
			byte[] doc = event.getFile().getContents(); 
			arquivo.setArquivo(doc);
			arquivo.setNome(event.getFile().getFileName());  

			FacesContext facesContext = FacesContext.getCurrentInstance();  
			ServletContext scontext = (ServletContext) facesContext.getExternalContext().getContext();  
			String local = scontext.getRealPath("/docs/" + arquivo.getNome());			

			FileOutputStream fos = new FileOutputStream(local);  
            fos.write(arquivo.getArquivo());  
            fos.flush();  
            fos.close();			

            FacesMessage msg = new FacesMessage("Arquivo: ", event.getFile().getFileName() + " Enviado com Sucesso!");  
			FacesContext.getCurrentInstance().addMessage(null, msg);  
		} catch (IOException e) {
			e.printStackTrace();
		}  
	}
        //getters and setters
}

xhtml

<p:dialog header="Relatório" widgetVar="dlgUploadRelatorio"
		modal="true" showEffect="slide" width="300" height="200"
		onShow="mymap.checkResize()">
		<h:form>
			<p:fileUpload label="Enviar Arquivo"
				fileUploadListener="#{documentosController.handleFileUpload}"
				auto="true" allowTypes="*.doc;*.pdf;*.rtf;" description="Documentos" />
		</h:form>
	</p:dialog>

1 Resposta

caputojf1

Resolvi aki…
Vou usar o servidor ftp…

Criado 12 de maio de 2011
Ultima resposta 12 de mai. de 2011
Respostas 1
Participantes 1