Pessoal, bom dia!
Preciso enviar um arquivo usando somente o input file do html para uma servlet sem nenhum framework.
É possivel? Como?
Obrigado!
Pessoal, bom dia!
Preciso enviar um arquivo usando somente o input file do html para uma servlet sem nenhum framework.
É possivel? Como?
Obrigado!
Possivel sim! porém acredito que será uma tarefa bem complexa… aconselho fazer o download dos sources
da biblioteca Commons FileUpload verificar como a mesma foi construida, dai vc terá uma ideia de como
fazer sua propria implementação.
Mais qual o motivo de vc não usar algum framework?
Possivel sim! porém acredito que será uma tarefa bem complexa… aconselho fazer o download dos sources
da biblioteca Commons FileUpload verificar como a mesma foi construida, dai vc terá uma ideia de como
fazer sua propria implementação.
Mais qual o motivo de vc não usar algum framework?
Obrigado pela ajuda!
O motivo de nao poder usar um framework é porque ja existe um em outra linguagem, porem ele nao atende bem o upload de arquivos.
<html>
<head>
</head>
<body>
<form action="FileUpload" enctype="multipart/form-data" method="post">
<input type="file" name="arquivo"/><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
DiskFileItemFactory fileItem = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(fileItem);
try {
List<FileItem> itens = fileUpload.parseRequest(request);
for (FileItem fi : itens) {
fi.write(new File("c:/temp/TESTE", fi.getName()));
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
mauricioadl
Preciso enviar um arquivo usando somente o input file do html para uma servlet sem nenhum framework.
DiskFileItemFactory fileItem = new DiskFileItemFactory();
ServletFileUpload fileUpload = new ServletFileUpload(fileItem);
try {
List<FileItem> itens = fileUpload.parseRequest(request);
for (FileItem fi : itens) {
fi.write(new File("c:/temp/TESTE", fi.getName()));
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Mais o código que vc postou que está dentro da sua Servlet e do Commons FileUpload .
Esqueci de falar.
Usei a versao que vem junto com o tomcat, assim nao precisei importar mais nada dentro do servidor.
import org.apache.tomcat.util.http.fileupload.FileItem;
import org.apache.tomcat.util.http.fileupload.FileUploadException;
import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;