Red de conocimiento informático - Aprendizaje de programación - Código de solicitud de carga de avatar de Java

Código de solicitud de carga de avatar de Java

Mira esto, este es el código que usamos en el proyecto

/**

* Subir imágenes

*/

@ RequestMapping(value="/reviseTuPian", método=RequestMethod.POST)

@ExceptionHandler(Exception.class)

public String reviseTuPian(Modelo modelo, respuesta HttpServletResponse, solicitud HttpServletRequest, HttpServletResponse )clase)

cadena pública revisarTuPian(modelo modelo, respuesta HttpServletResponse, solicitud HttpServletRequest, excepción ex){

//obtener sesión

UserInfos info = (UserInfos ) request.getSession().getAttribute("user");

//Guardar el valor del objeto

Mapa. lt; String, Stringgt; parámetroMap = nuevo HashMaplt; String, Stringgt ();

DiskFileItemFactory = nuevo DiskFileItemFactory(); /p>

p>

archivoSubir.

setFileSizeMax(1024 * 200);

String filename=null;

prueba {

Listlt; fileItems = fileUpload.parseRequest(solicitud);

p>

for (FileItem fileItem : fileItems) {

if (fileItem.isFormField()){

//no subiendo un archivo

Descripción de cadena = fileItem.getFieldName();

Valor de cadena = fileItem.getString("utf-8"); //manejar código confuso

parámetroMap.put( descripción, valor

}else {

nombre de archivo = fileItem.getName()

if (nombre de archivo == null | | nombre de archivo.trim(); .length() = = 0) {

parámetroMap.put("imgurl", null);

}else {

nombre de archivo = UploadUtils.subFileName( nombre de archivo);

p>

String uuidname = UploadUtils.generateRandomFileName(nombre de archivo);

String dir = UploadUtils.generateRandomDir(uuidname); dirFile = new File(request.getSession() .getServletContext().getRealPath(

"/touxiang" dir));

dirFile.mkdirs();//crea el directorio

InputStream in = new BufferedInputStream(fileItem.getInputStream());

OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(dirFile, uuidname)));

int b;

while((b = in.read())!=-1){

out.write(b);

}

en .close();

fuera.close();

Eliminar archivo

fileItem.delete();

// Generar una imagen pequeña

PicUtils picUtils = nuevo PicUtils(dirFile.getCanonicalP

ath()

"/" uuidname);

picUtils.resize(150, 150);

// Obtener la ruta de la imagen pequeña

String img_s = UploadUtils.getImg_s(uuidname);

//System.out.println("qfeer nombre de imagen qwfwdfq " img_s);

parámetroMap.put( "imgurl " , "/touxiang " dir "/" img_s

}

}

}

} captura (FileSizeLimitExceededException); e) {

model.addAttribute("asg" , "El tamaño del archivo no debe exceder los 100k");

e.printStackTrace(); request. setAttribute("asg", "El tamaño del archivo no debe exceder los 100k");

return "redirect:/reviseUser .do"

} catch (IOException e) {

//TODO bloque catch generado automáticamente

e.printStackTrace();

} catch (FileUploadException e) {

// TODO Bloque de captura generado automáticamente

e.printStackTrace();

}

if(filename!=""){ // La imagen cargada está vacía

String[] m= filename.split("\\.");

String[] n={"BMP", "JPG", "JPEG", "PNG", " GIF"};

for (int i = 0; i lt; n.length; i) {

if(m[1].equalsIgnoreCase(n[i]) ) {

//agregar datos

info.setHeadImageUrl(parameterMap.get("imgurl"));

ufil. updateNiChengUser (información);

model.addAttribute("asg", "Avatar actualizado correctamente");

System.out.println("********* *** ***Subir ruta para guardar******************" request.getSession().getServletContext().getRealPath("/"));

break ;

}else{

System.out.println("Error en la actualización de Avatar")

;

model.addAttribute("asg ", "El formato de imagen es incorrecto, vuelva a seleccionar"); p> }//Fin del bucle

}else{ /Determinar cuándo la imagen final está vacía

//Agregar datos

info.setHeadImageUrl(parameterMap. get(" imgurl"));

//llamar a la capa empresarial

ufil.updateNiChengUser(info);

System.out.println("* *********** Cargar ruta de guardado******************" request.getSession().getServletContext().getRealPath("/") ) ;

model.addAttribute("asg", "Imagen actualizada correctamente");

}

Devuelve "redirect:/reviseUser.do";

p>

}