У меня есть эта ошибка в моем проекте Spring, мне нужно решение ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
У меня есть эта ошибка в моем проекте Spring, мне нужно решение

Сообщение Anonymous »

Я работаю с Spring Framework и использую некоторые зависимости, такие как Spring Jpa, Spring Web.
Я пытался добавить фотографию в реестр с помощью MultipartFile, но получил ошибку результат. Он вернул проблему с MultipartFile
У меня в контроллере было следующее:

Код: Выделить всё

    @GetMapping("/registrarAdmin")
public String registrarAdmin(Model model) {
model.addAttribute("admin", new AdministradorEntity());
return("registrarAdmin");
}
@PostMapping("/registrarAdmin")
public String registroAdmin(@ModelAttribute("admin")AdministradorEntity adminFormulario,
Model model, @RequestParam("fotoAdmin") MultipartFile foto) {
adminService.crearAdmin(adminFormulario, foto);
return "registrarAdmin";
}
а часть реализации MultipartFile (фото) такова:

Код: Выделить всё

public static String guardarImagen(MultipartFile foto){
try {
Path pathDire = Paths.get("src/main/resources/static/img/guardados/");
if (!Files.exists(pathDire)) {
Files.createDirectories(pathDire);
}

byte[] fotoBytes= foto.getBytes();
Path pathImagen = Paths.get("src/main/resources/static/img/guardados/" +
foto.getOriginalFilename());

Files.write(pathImagen, fotoBytes);
return foto.getOriginalFilename();

} catch (IOException e) {
// TODO: handle exception
System.out.println("error al cargar la foto"+e.getMessage());
return null;
}
}
это мой результат:

Код: Выделить всё

[2m2024-10-22T09:58:18.785-05:00[0;39m [33m WARN[0;39m [35m15572[0;39m [2m---[0;39m [2m[Proyecto_LP2] [nio-8080-exec-3][0;39m [2m[0;39m[36m.w.s.m.s.DefaultHandlerExceptionResolver[0;39m [2m:[0;39m Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public java.lang.String com.proyecto.controller.AdminController.registroAdmin(com.proyecto.model.AdministradorEntity,org.springframework.ui.Model,org.springframework.web.multipart.MultipartFile): [Field error in object 'admin' on field 'foto': rejected value [org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile@731252d]; codes [typeMismatch.admin.foto,typeMismatch.foto,typeMismatch.java.lang.String,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [admin.foto,foto]; arguments []; default message [foto]]; default message [Failed to convert property value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String' for property 'foto'; Cannot convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'java.lang.String' for property 'foto': no matching editors or conversion strategy found]] ]

Наконец, это реализация метода:

Код: Выделить всё

@Override
public void crearAdmin(AdministradorEntity adminEntity, MultipartFile foto) {
//Guardando image
String nombreFoto= Utilitarios.guardarImagen(foto);
adminEntity.setFoto(nombreFoto);
//Hash password
String hashPassword = Utilitarios.hashPassword(adminEntity.getContrasenia());
adminEntity.setContrasenia(hashPassword);

adminRepository.save(adminEntity);
}
Сейчас учусь этому в институте и не знаю, что делать. Если у вас есть идеи по поводу решения или, возможно, другого способа решения этого кода, я хотел бы знать. СПАСИБО!!

Подробнее здесь: https://stackoverflow.com/questions/791 ... a-solution

Вернуться в «JAVA»