Upload de arquivo pelo usuario

6 respostas
H

Estou com dificuldades de encontrar alguma informação para fazer upload de arquivos do usuario sem utilizar a tag html input file. É possivel?
pq oq eu pretendo fazer é bem parecido com o deploy do TOMCAT quando se especifica um context path e depois o path do arquivo seguido do file://path do arquivo…

6 Respostas

Giulliano

Só se vc usar algum framework que tenha um componete que dê suporte a upload…

struts, JSF entre outros…senão vai no html mesmo.

H

entao, mas oq eu quero é fazer o codigo…a tela é algo como 2 opções radio. Uma é Default Path com um textfield mostrando um path padrão, a outra é um input do tipo file onde o usuario escolhe o arquivo em paths diferentes…oq eu não consigo é carregar o arquivo com path default…
E todos os componentes prontos não encontrei uma forma de setar um path com javascript por exemplo…ai oq eu teria que fazer era fazer o servidor “enxergar” o arquivo na hora do submit…

fabim

Procure pelo jar da jakarta chamado commons-fileupload, utilize o metodo POST e seja feliz.

H

valeu fabiocsi! estava procurando esta lib mesmo!!!
thks!

leandrokjava

http://commons.apache.org/fileupload/

H
isso ta dificil......eu ate vi no site para recuperar o arquivo, mas o JSF muda o request ou alguma coisa....pq o request não chega como multi-part.....pq eu fiz 2 exemplos, 1 com input type=file e outro com input type=text....não chega o request certo para as classes java! agora com o componente do tomahawk funciona....bem estranho isso.....
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		
		FileItemFactory factory = new DiskFileItemFactory();

		// Create a new file upload handler
		ServletFileUpload upload = new ServletFileUpload(factory);

		// Parse the request
		List items = upload.parseRequest(request);
		
		Iterator iter = items.iterator();
		while (iter.hasNext()) {
		    FileItem item = (FileItem) iter.next();

		    if (item.isFormField()) {
		    	String name = item.getFieldName();
		        String value = item.getString();
		    } else {
		    	String fieldName = item.getFieldName();
		        String fileName = item.getName();
		        String contentType = item.getContentType();
		        boolean isInMemory = item.isInMemory();
		        long sizeInBytes = item.getSize();
		    }
		}
<h:form id="frmDmaAdjusment" enctype="multipart/form-data" >
<t:inputText id="dmaFileDefault" value="#{dmaAdjustment.dmaBean.dmaDefaultPath}" styleClass="grey_11" readonly="true" style="width:220px"/> 
							
<t:inputFileUpload id="dmaFilePathInput" maxlength="20000" styleClass="grey_12" style="width:220px" 					storage="file" value="#{dmaAdjustment.dmaBean.dmaFile}" accept="text/xml" />
          </h:form>

to querendo carregar o arquivo especificado no primeiro inputText.......

Criado 15 de janeiro de 2008
Ultima resposta 16 de jan. de 2008
Respostas 6
Participantes 4