FAZENDO UPLOAD DE ARQUIVOS USANDO O COMPONENTE ‘rich:fileUpload’

Post Rápido antes do jogo do leão!!

Vou falar como sua aplicação irá realizar upload de arquivos e salvá-los em disco utilizando o componente do richfaces rich:fileUpload. Criamos a página simples que conterá apenas o componente em questão.


<?xml version="1.0" encoding="utf-8" ?>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"

	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:a4j="http://richfaces.org/a4j"

	xmlns:rich="http://richfaces.org/rich"

	xmlns:t="http://myfaces.apache.org/tomahawk">

	<f:view>

		<ui:composition template="/template/padrao_administracao.jspx">

			<ui:define name="body">
                                <h:form id="form">
                                      <rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"
							                maxFilesQuantity="2"
							                id="upload"
							                immediateUpload="false"
							                acceptedTypes="csv"
							                addControlLabel="Adicionar"
							                clearAllControlLabel="Limpar tudo"
                         					clearControlLabel="limpar"
                         					stopEntryControlLabel="Parar"
                         					uploadControlLabel="Enviar"
                        					doneLabel="Arquivo enviado!"
                        					ontyperejected="alert('Formato inválido do arquivo')">

		                      </rich:fileUpload>
                                 </h:form>
                         </ui:define>
		</ui:composition>
	</f:view>

</jsp:root>

Com a página criada, vamos ao Managed-Bean (vou pular a parte de configurá-lo no faces-config.xml).
O componente fileUpload possui um parâmetro que é o listener(que se trata de um método no managed-bean(ah vá…)).

public class FileUploadBean {
		private File file;
		private String fileName = "";

		public void listener(UploadEvent event) throws Exception{
		   	UploadItem item = event.getUploadItem();
		   	setFile(item.getFile());
		   	String filePathName = item.getFileName();
		   	StringTokenizer st = new StringTokenizer(filePathName, "\\");
		   	while (st.hasMoreElements()) {
				setFileName(st.nextToken());
			}
		   	getFile().renameTo(new File("C:/" + getFileName()));
		}

		public void setFile(File file) {
			this.file = file;
		}

		public File getFile() {
			return file;
		}

		public void setFileName(String fileName) {
			this.fileName = fileName;
		}

		public String getFileName() {
			return fileName;
		}
}

Com o arquivo no disco é só usar a imaginação..

Ah, to apanhando pra identação dos códigos, nos próximos posts vou melhorando esse quesito.
É isso, vamo lá Leão!!!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: