Gravar upload de arquivo usando jsp
Autor:Eve Cole
Data da Última Atualização:2009-07-02 17:12:50
Se você já usou VB para escrever um componente de upload de arquivo, é muito fácil usar JAVA para escrever JAVABEAN para upload de arquivo.
O exemplo abaixo é apenas uma versão simplificada
pacoteyuanyifileup;
importar java.io.*;
importar java.util.*;
importar javax.servlet.*;
importar javax.servlet.http.*;
importar javax.servlet.jsp.PageContext;
classe pública yuanyifileup
{
solicitação ServletRequest privada;
resposta privada ServletResponse;
configuração privateServletConfig;
ServletInputStream DADOS;
int FormSize;
Arquivo f1;
FileOutputStream os;
DataInputStream é;
String nome do arquivo;
byte[]b;
bytet;
sinalizador booleano = falso;
yuanyifileup público()
{ }
inicialização pública void (configuração ServletConfig, solicitação HttpServletRequest, resposta HttpServletResponse) lança IOException
{
this.request=solicitação;
this.response=resposta;
this.config=config;
DADOS = request.getInputStream();
FormSize=request.getContentLength();
}
public void inicializar (PageContext pageContext) lança IOException
{
request=pageContext.getRequest();
resposta=páginaContext.getResponse();
config=pageContext.getServletConfig();
DADOS = request.getInputStream();
FormSize=request.getContentLength();
}
conjunto booleano públicoFilename (String s)
{
tentar
{
Arquivo f1=novo(s) arquivo(s);
os = novo FileOutputStream (f1);
}
pegar(IOException e)
{retornar(falso);}
retornar(verdadeiro);
}
público vazio getByte()
{
int i=0;
tentar
{
é=novo DataInputStream(DADOS);
b=novo byte[FormSize];
enquanto (verdadeiro)
{
tentar
{
t=is.readByte();
b[i]=t;
eu++;
}
catch(EOFException e)
{ quebrar;}
}
é.close();}
pegar(IOException e)
{}
}
salvamento booleano público()
{
int i=0,início1=0,início2=0;
String temp="";
se (! bandeira)
{
getByte();
sinalizador=verdadeiro;
}
tentar
{
temp=nova String(b,"ISO8859_1");
}
catch(UnsupportedEncodingException e)
{retornar(falso);}
start1=temp.indexOf("imagem/");
temp=temp.substring(start1);
start1=temp.indexOf("rnrn");
temp=temp.substring(start1+4);
start2=temp.indexOf(";rn");
se (início2!=-1)
{
temp=temp.substring(0,start2);
}
tentar
{
byte[] img=temp.getBytes("ISO8859_1");
para (i=0;i<img.comprimento;i++)
{os.write(img[i]);
os.close();
}
pegar(IOException e)
{retornar(falso);}
retornar(verdadeiro);
}
Se houver algo que você não entendeu, envie um e-mail para: [email protected]
}