packagemeupacote;importjava.io.File;importjava.util.*;importorg.apache.commons.fileupload.*;importorg.apache.commons.fileupload.disk.DiskFileItemFactory;importorg.apache.commons.fileupload.servlet.ServletFileUpload;importjavax.servlet.ServletContext;importjavax.servlet.http.*;publicclassUploadBean{privateDiskFileItemFactoryfileUpload=newDiskFileItemFactory();privateServletFileUploadsfu=newServletFileUpload(fileUpload);privateStringdiretorio;privateStringfilename;privatestaticintKB=1024;privatestaticintMB=1024*1024;privateintsize;privateStringextensoesPermitidas;privateStringerro=null;publicvoidsetDiretorio(Stringdiretorio){this.diretorio=diretorio;}publicStringgetDiretorio(){returndiretorio;}publicStringgetFilename(){returnfilename;}publicbooleandoFilePost(HttpServletRequestrequest,ServletContextcontext){if(request.getContentType()==null){returnfalse;}if(!request.getContentType().startsWith("multipart/form-data")){setErro("Seu formulário não envia arquivos");returnfalse;}fileUpload.setSizeThreshold(4*KB);Stringpath=context.getRealPath(getDiretorio());try{sfu.setSizeMax(getSize()*MB);Listlist=sfu.parseRequest(request);for(Iteratoriterator=list.iterator();iterator.hasNext();){FileItemitem=(FileItem)iterator.next();if(!item.isFormField()){filename=item.getName();if((filename!=null)&&(!filename.equals(""))){filename=(newFile(filename)).getName();if(isPermission(filename)){item.write(newFile(path+"/"+filename));}else{setErro("Arquivo não permitido");returnfalse;}}}}}catch(FileUploadBase.SizeLimitExceededExceptionslee){slee.printStackTrace();setErro("Tamanho excedido");returnfalse;}catch(Exceptione){setErro("Uma Exceção ocorreu: "+e.getMessage());e.printStackTrace();returnfalse;}returntrue;}/* public boolean isPermission(String fileName) { String lowerCaseName = fileName.toLowerCase(); for (int i = 0; i < extensoesPermitidas.length; i++) { if (lowerCaseName.endsWith(extensoesPermitidas[i])) return true; } return false; }*/publicvoidsetSize(intsize){this.size=size;}publicintgetSize(){returnsize;}privatevoidsetErro(Stringerro){this.erro=erro;}publicStringgetErro(){returnerro;}publicvoidsetExtensoesPermitidas(StringextensoesPermitidas){this.extensoesPermitidas=extensoesPermitidas;}publicStringgetExtensoesPermitidas(){returnextensoesPermitidas;}publicbooleanisPermission(StringfileName){StringlowerCaseName=fileName.toLowerCase();StringTokenizerst=newStringTokenizer(extensoesPermitidas," ,.?! \'-:;|");while(st.hasMoreTokens()){if(lowerCaseName.endsWith("."+st.nextToken()))returntrue;}returnfalse;}}
Daí ele faz upload para uma pasta chamada arquivos.
Bom, tá aí uma dica pra quem ainda não conseguiu!
Gustavo Sperandio
Valeu pela dica do PrimeFaces, não conhecia e achei muito legal, vou tentar aprender!
Gustavo_Sperandio
Se tiver alguma duvida estamos aqui!!!
devvdevv.interior
Beto_Torres
Estava fazendo uns testes igual ao seu e do livro.
Desenvolvendo Aplicações Web com JSP Servelets JSF Hibernate EJB 3 Persistence e Ajax.therebels.robertosilva
Pórem já que conseguiu, eu fazendo os teste e até testando o seu proprio código não consigo localizar os arquivos do UPLOAD
no meu caso eu gostaria que eles ficassem no WEB-INF/Imagens…
e sobre essas permissoes seria para poder fazer o upload em uma pasta do projeto?