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…
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();
}
}