Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

O sistema não pode encontrar o caminho especificado aula 9 upload de arquivos

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?

3 respostas
solução!

Eu tinha esse problema também, no meu caso eu resolvi criando um arquivo qualquer dentro dessa pasta para ela não ficar vazia. Parece que durante a compilação do projeto se essa pasta estiver vazia ela não é criada e por isso não acha o diretório durante a execução.

E estou percebendo isso, quando alterações sao feitas elas demoram para propagar as atualizações para o servidor ja reiniciei varias vezes dei clean no tom cat maven build, install, Update Project mas ainda assim vai meio que na hora que o servidor quer rsrsrs. Mas enfim de modo geral são sim as atualizações que demoram ser jogadas no servidor

Mas e quanto a solução do requestResource is not available em qual parte do curso ela vai ser tratada?