Ola procurei bastante pelo forum e encontrei duvidas parecidas mas ainda assim não consegui resolver o problema. O método FileSaver nao esta conseguindo gravar arquivo no diretorio especificado dentro de web-app mas eu ja criei a pasta no local indicado e ainda assim ele reclama que o diretorio nao existe retornando este erro
HTTP Status 500 - Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: java.io.FileNotFoundException: C:\Users\michel\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\7970_64x64.png (O sistema não pode encontrar o caminho especificado)
type Exception report
message Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: java.io.FileNotFoundException: C:\Users\michel\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\7970_64x64.png (O sistema não pode encontrar o caminho especificado)
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: java.io.FileNotFoundException: C:\Users\michel\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\7970_64x64.png (O sistema não pode encontrar o caminho especificado)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Essas são as minhas classes
//metodo salvar do produtoscontroller
@RequestMapping(method= RequestMethod.POST)
public ModelAndView save(MultipartFile sumario, @Valid Produto produto, BindingResult result, RedirectAttributes attributes){
System.out.println("Entrou no ProdutosController: acao salvar");
System.out.println("Produto: "+produto.toString());
System.out.println("Arquivo: "+sumario.getOriginalFilename());
String path = fileSaver.write("arquivos-sumario",sumario);
produto.setSumarioPath(path);
if(result.hasErrors()){
return form(produto);
}
dao.gravar(produto);
attributes.addFlashAttribute("mensagem","produto cadastrado com sucesso");
return new ModelAndView("redirect:produtos");
}
//metodo da classe filesaver
public String write(String baseFolder, MultipartFile file) {
try {
String realPath = request.getServletContext().getRealPath("/"+baseFolder);
String path = realPath + "/" + file.getOriginalFilename();
file.transferTo(new File(path));
return baseFolder + "/" + file.getOriginalFilename();
} catch (IllegalStateException | IOException e) {
throw new RuntimeException(e);
}
}
Alem deste problemas Vi que mais a frente o problema sera abordado novamente, mas exatamete em qual parte do curso voltara a se falar sobre o upload de arquivos?