Passando parâmetros com POST

2 respostas
W

no código:

Li no livro SCWCD Exam Study Kit: Java Web Component Developer Certification diz que o tipo de dados de um POST podiam ser textos ou binários…como eu faço para pegar esse file que passei nesse form em um servlet através do HttpServletRequest se com getParameter só retornam Strings ?

2 Respostas

B

Primeiro vc precisa indicar que seu form enviará um “anexo” em request, incluindo o atributo “ENCTYPE” no form:

Um exemplo de como pode-se “capturar” o arquivo no servlet:

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
		        
	        	if( isMultipart ) {
		            DiskFileItemFactory factory = new DiskFileItemFactory();
		            factory.setSizeThreshold(16*1024*1024);
		            factory.setRepository(new File("/directory"));
		            
		            ServletFileUpload upload = new ServletFileUpload(factory);
		            upload.setSizeMax(15*1024*1024);
       
		            
		            List items = null;
		            
		            try {
		                items = upload.parseRequest(request);
		            } catch (FileUploadException ex) {
		                ex.printStackTrace();
		            }
		            if( items != null ) {
              
		                Iterator i = items.iterator();
		                
		                while (i.hasNext()) {
		                    FileItem item = (FileItem) i.next();
		                    
		                    if (!item.isFormField()) {
                             //rotina para salvar em disco
                      }
                 }
            }
       }
W

nossa que dahora ! :open_mouth:

valeu mesmo !

Criado 16 de julho de 2009
Ultima resposta 17 de jul. de 2009
Respostas 2
Participantes 2