Red de conocimiento de abogados - Derecho de sociedades - Cómo solicitar un servlet una vez y mostrar varias imágenes en el navegador

Cómo solicitar un servlet una vez y mostrar varias imágenes en el navegador

la clase pública FileUploadMultyServlet extiende HttpServlet {

privada estática final larga serialVersionUID = 1L;

ruta de carga de archivos privados;

ruta temporal de archivos privados;

@Override

public void init() lanza ServletException {

uploadPath = new File(getServletContext().getRealPath("upload")); p>

System.out.println("uploadPath=====" + uploadPath);

// Si el directorio no existe

if (! uploadPath.exists( )) {

// Crear directorio

uploadPath.mkdir();

}

// Directorio temporal

// File tempFile = new File(item.getName()) construye un objeto temporal

tempPath = new File(getServletContext().getRealPath("temp"));

if (!tempPath.exists()) {

tempPath.mkdir();

}

// Si no lo hace llame explícitamente al método de la clase principal, solo que no habrá una instancia de itemManager, por lo que se generará un puntero nulo

super.init();

}

public void doGet(solicitud HttpServletRequest, respuesta HttpServletResponse)

lanza ServletException, IOException {

doPost(solicitud, respuesta);

}

@SuppressWarnings("deprecation")

public void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse)

lanza ServletException, IOException {

// Obtener datos de item_upload. jsp debido al formato de codificación de la página de carga. A diferencia del formato general, se usa enctype="multipart/form-data"

// El envío del formulario usa multipart/form-data y req.getParameter () no se puede utilizar para obtener los datos

// String itemNo = req.getParameter("itemNo");

// System.out.println("itemNo=== ===" + número de artículo);

/************************************ ** Utilice el componente FileUpload para analizar el formulario************ ********/

boolean isMultipart = ServletFileUpload.

isMultipartContent(solicitud);

DiskFileItemFactory factory = new DiskFileItemFactory();

factory.setSizeThreshold(4096);

factory.setRepository(tempPath);

p>

ServletFileUpload upload = new ServletFileUpload(factory);

upload.setHeaderEncoding("utf-8");

// tamaño máximo antes de un Se lanzará FileUploadException

upload.setSizeMax(1000000 * 20);

pruebe {

List items = upload.parseRequest(request); /p>

Cadena de datos = "";

int i = 0;

Cadena itemNo = "";

Cadena fileName = "";

Iterador iter = items.iterator();

mientras (iter.hasNext()) {

FileItem elemento = (FileItem) iter.next() ;

if (item.isFormField()) {

Nombre de cadena = item.getFieldName()

i++;

datos = item.getString( );

if ("itemNo".equals(item.getFieldName())) {

itemNo = item.getString();

}

}

// Si es el campo de entrada input="type"

else if (!item.isFormField()) {

/ / El nombre y la ruta completa del archivo cargado

fileName = item.getName();

System.out.println("filename===" +fileName);

long size = item.getSize();

// Determinar si el archivo está seleccionado

if ((fileName == null | | fileName.equals("")) && tamaño == 0) {

continue;

}else{

fileName = System.currentTimeMillis() + ".jpg";

}

//Interceptar cadena como: C:\WINDOWS\Debug\PASSWD.LOG

fileName = fileName.substring(

fileName. lastIndexOf("\\") + 1, fileName.length());

// Guarda el archivo en el disco físico del servidor: el primer parámetro es: completo ruta (excluyendo el nombre del archivo) Los dos parámetros son: nombre del archivo

// item.write(file);

// Modifique el nombre del archivo para que sea coherente con el nombre del material y modifique a la fuerza la extensión del archivo a gif

// item.write(new File(uploadPath, itemNo + ".gif"));

// Guarde el archivo en el directorio sin cambiar el nombre del archivo

item.write(new File(uploadPath, fileName));

}

}

response.sendRedirect(request.getContextPath() + "/people_require.html");

} catch (Excepción e) {

e.printStackTrace ();

}

}

}