Escribir carga de archivos usando jsp
Autor:Eve Cole
Fecha de actualización:2009-07-02 17:12:50
Si alguna vez ha usado VB para escribir un componente de carga de archivos, es muy fácil usar JAVA para escribir JAVABEAN para la carga de archivos.
El siguiente ejemplo es solo una versión simplificada.
paqueteyuanyifileup;
importar java.io.*;
importar java.util.*;
importar javax.servlet.*;
importar javax.servlet.http.*;
importar javax.servlet.jsp.PageContext;
clase pública yuanyifileup
{
solicitud de ServletRequest privada;
respuesta privada de ServletResponse;
configuración privadaServletConfig;
ServletInputStream DATOS;
int Tamaño del formulario;
Archivo f1;
sistema operativo FileOutputStream;
DataInputStream es;
Nombre de archivo de cadena;
byte[]b;
byte t;
bandera booleana = falso;
archivo público yuanyi ()
{ }
inicialización de vacío público (configuración de ServletConfig, solicitud HttpServletRequest, respuesta HttpServletResponse) arroja IOException
{
this.request=solicitud;
this.response=respuesta;
this.config=config;
DATOS = request.getInputStream();
Tamaño del formulario=request.getContentLength();
}
inicialización de vacío público (PageContext pageContext) lanza IOException
{
solicitud=pageContext.getRequest();
respuesta=pageContext.getResponse();
config=pageContext.getServletConfig();
DATOS = request.getInputStream();
Tamaño del formulario=request.getContentLength();
}
conjunto booleano público nombre de archivo (cadena s)
{
intentar
{
Archivo f1=nuevo archivo(s);
sistema operativo = nuevo FileOutputStream (f1);
}
captura (IOException e)
{retorno (falso);}
retorno (verdadero);
}
getByte público vacío()
{
int i=0;
intentar
{
es = nuevo DataInputStream (DATOS);
b=nuevo byte[Tamaño del formulario];
mientras (verdadero)
{
intentar
{
t=es.readByte();
b[yo]=t;
yo ++;
}
captura (EOFException e)
{ romper;}
}
es.cerrar();}
captura (IOException e)
{}
}
guardado booleano público()
{
int i=0,inicio1=0,inicio2=0;
Cadena temp="";
si (!bandera)
{
getByte();
bandera = verdadero;
}
intentar
{
temp=nueva cadena(b,"ISO8859_1");
}
captura (UnsupportedEncodingException e)
{retorno (falso);}
start1=temp.indexOf("imagen/");
temp=temp.substring(inicio1);
start1=temp.indexOf("rnrn");
temp=temp.substring(inicio1+4);
start2=temp.indexOf(";rn");
si (inicio2!=-1)
{
temp=temp.substring(0,inicio2);
}
intentar
{
byte[] img=temp.getBytes("ISO8859_1");
para (i=0;i { sistema operativo.write(img[i]);
os.cerrar();
}
captura (IOException e)
{retorno (falso);}
retorno (verdadero);
}
Si hay algo que no entiende, envíe un correo electrónico a: [email protected]
}