Amigos,
para se fazer um servlet com Upload de arquivos, pode
ser utilizada a classe MultipartRequest da OReilly (atachada -
a prop�sito, mandei com o email pois � pequena e acho que
muitos podem se interessar em guard�-la).
Para utiliz�-la, sigam os passos:
1) Classes necess�rias: MultipartRequest da Oreilly.
2) no formul�rio html:
<form method=\"POST\" action=\"http://" + maquina +
":"+porta+"/servlet/SeuServlet"
ENCTYPE=\"multipart/form-data\"> <- isto configura formul�rio
para enviar dados
3) c�digo necess�rio no servlet:
import com.oreilly.servlet.MultipartRequest;
/* classe que recebe informa��es do formul�rio
configurada para colocar arquivos no diret�rio indicado e para
receber arquivos
com tamanho m�ximo */
MultipartRequest multipartrequest = new
MultipartRequest(httpservletrequest, "/temp", 0x500000);
/* lista de campos do form */
Enumeration paramnames = multipartrequest.getParameterNames();
/* lista dos arquivos que ser�o enviados */
Enumeration arqnames = multipartrequest.getFileNames();
/* vari�rieis que receber�o os conte�dos dos campos dos forms */
String razaosocial ="";
String pncontrato="";
/* recebendo parametros do MultiPart */
while (paramnames.hasMoreElements())
/* pega pr�ximo nome do par�metro (campo) da form */
parametro = (String)paramnames.nextElement();
/* ESTAS CONDICIONAIS S�O IMPORTANTES, pois os dados n�o
chegam no servidor na ordem que est�o no formul�rio, ent�o voc�
tem
que ter certeza que est� colocando o dado do campo certo do form
na vari�vel correta */
if (parametro.equals("RazSocAnunc")) {
/*.getParameter() pega parametro vindo do formul�rio */
prazaosocial = multipartrequest.getParameter(parametro);
}
else if (parametro.equals("Contrato")) {
pncontrato = multipartrequest.getParameter(parametro);
}
}
/* pega nome do pr�ximo arquivo a ser recebido */
String pnomearquivo = (String)arqnames.nextElement();
/* efetivamente recebe o arquivo e testa se ele est� vazio - para
tratamento de erro */
java.io.File file = multipartrequest.getFile(pnomearquivo);
if(file == null)
throw new Exception("");
----- Original Message -----
From: Bruno Diniz de Paula <[EMAIL PROTECTED]>
To: Simone Freire <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, May 02, 2000 8:16 PM
Subject: Re: [SouJava-J] Upload de arquivos
>
> Oi Andre,
>
> voce fez um parser para a requisicao. Estou dizendo isso porque a
> unica forma que encontrei de fazer o upload seria pegar o InputStream da
> requisicao e eu mesmo localizar o(s) arquivo(s) dentro dela.
>
> Abracos,
> Bruno.
>
> On Tue, 2 May 2000, Simone Freire wrote:
>
> > Bruno,
> > Eu consegui desenvolver uma solucao para upload
> > de arquivo(servlet). Caso voce nao consiga
> > o que procura, posso te repassar. Tenho interesse
> > tambem nesse pacote que voce citou.
> > Andre
> >
> > --- Bruno Diniz de Paula <[EMAIL PROTECTED]> wrote:
> > >
> > > Oi pessoal,
> > >
> > > certa vez na lista alguem mandou um mail dizendo
> > > que no site da
> > > OReilly tinha um pacote em Java que fazia o parse de
> > > uma requisicao do
> > > tipo ...multipart-data... Essa requisicao eh usada
> > > para fazer upload de
> > > arquivos. Fui ateh o site e nao achei nada.
> > >
> > > Alguem poderia me informar algum lugar onde eu
> > > consigo tal pacote,
> > > jah que a versao atual de servltes/jsp nao suporta
> > > esse tipo de requisicao
> > > HTTP?
> > >
> > > Abracos e obrigado,
> > >
> > > Bruno.
> > >
> > ______________________________________________________________
> > > Bruno Diniz de Paula
> > > [EMAIL PROTECTED] - UFMG
> > > [EMAIL PROTECTED] - Telemig Celular
> > >
> > > "Coracoes ao alto e pes no chao."
> > >
> > > "A verdadeira experiencia com Deus nao nos faz
> > > fugir da realidade, mas nos da forcas para
> > > enfrenta-la e transforma-la."
> > >
> > > Pe. Zeca
> > >
> > > --------------------------- LISTA SOUJAVA
> > > ---------------------------
> > > http://www.soujava.org.br - Sociedade de
> > > Usu�rios Java da Sucesu-SP
> > > [d�vidas mais comuns:
> > > http://www.soujava.org.br/faq.htm]
> > > [para sair da lista:
> > > http://www.soujava.org.br/forum/cadastrados.htm]
> > > [regras da lista:
> > > http://www.soujava.org.br/regras.htm]
> > >
> > >
> > ---------------------------------------------------------------------
> > >
> > >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Send instant messages & get email alerts with Yahoo! Messenger.
> > http://im.yahoo.com/
> >
>
>
> ______________________________________________________________
> Bruno Diniz de Paula
> [EMAIL PROTECTED] - UFMG
> [EMAIL PROTECTED] - Telemig Celular
>
> "Coracoes ao alto e pes no chao."
>
> "A verdadeira experiencia com Deus nao nos faz
> fugir da realidade, mas nos da forcas para
> enfrenta-la e transforma-la."
>
> Pe. Zeca
>
> --------------------------- LISTA SOUJAVA ---------------------------
> http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
> [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
> [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
> [regras da lista: http://www.soujava.org.br/regras.htm]
> ---------------------------------------------------------------------
>
>
MultipartRequest.class
MultipartResponse.class