Código de solicitud de carga de avatar de Java
/**
* 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>
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 p>
PicUtils picUtils = nuevo PicUtils(dirFile.getCanonicalP
ath()
"/" uuidname);
picUtils.resize(150, 150);
// Obtener la ruta de la imagen pequeña p>
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 p >
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>
}