Upload de Arquivo

Alguns métodos da commons.fileupload estão deprecated, da ultima versão desta. A forma como eu fazia upload, utilizava tais métodos. Alguem tem um exemplo que funcione atualmente, para fazer upload de arquivo? Quero evitar o JSP, quero fazer uma classe que faria o upload. ALguem me ajuda??

quer evitar o jsp…huuuuummmmm

faça um servlet que recebe o form multi-part
e passe a request para uma classe q. implementa o commons-fileupload…
nessa classe crie um método q. recebe a request verifique se é multi-part…
crie um DiskFileUpload…utilize o metodo parseRequest(request) do DiskFileUJpload e reparta a request em itens…caso o item.getFieldName().equals(o_nome_do_seu_campo_file)…item.write(new File…)
seria interessante retornar uma String informando o sucesso ou falha da operação…

espero ter ajudado…
:wink:

Procure usar o Commons FileUpload, é muito simples fazer um upload com ele.

Então…quero fazer um servlet usando fileupload…mas tá dando pau aqui…tem muito método deprecated nos exemplos q consegui…
vc poderia me passar um exemplo q funciona???

Olha o erro q estava dando:

“java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream”
“java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream”

Significa que você precisa de mais um jar: commons-io-1.2.jar
http://jakarta.apache.org/site/downloads/downloads_commons-io.cgi

AGORA RODOU CERTINHO.

A Servlet toda está abaixo:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(50000*1024*1024);


 	try {
 		List items = upload.parseRequest(request);
 		// Processa os itens do upload
 		Iterator iter = items.iterator();
 		while (iter.hasNext()) {
 			FileItem item = (FileItem) iter.next();
         
 			if (item.getFieldName().equals("arq") ) {
				
 				String nome = item.getName();
 				StringBuffer bn = new StringBuffer();
 				bn.append("C:/diretorioqueeuquero/");
 				bn.append(nome);
 				File uploadedFile = new File(bn.toString());
 				item.write(uploadedFile);
 			}
 		}		
 	
 	} catch (FileUploadException fuex) {
 		fuex.getMessage().toString();
 	} catch (Exception ex) {
 		ex.getMessage().toString();
 	}
 }