1
resposta

Dúvida no Ex. 4 da Aula 8 - Enviando arquivos ao servidor

Boa tarde,

estou recebendo o seguinte erro ao salvar o arquivo, ja verifiquei o caminho, mandei salvar em outros diretórios locais, mas o erro permanece.

java.io.IOException: java.io.FileNotFoundException: /Users/JulioSilva/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/casadocodigo/arquivos-sumario/09chaldrag_128001.jpg (No such file or directory)
    at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:121)
    at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile.transferTo(StandardMultipartHttpServletRequest.java:258)

Esta é a classe que grava

@Component
public class FileSaver {

    @Autowired
    private HttpServletRequest request;

    public String gravar(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) {
            e.printStackTrace();
            throw new RuntimeException();
        }
    }
}

Esta é a classe que chama a gravação

@RequestMapping("produto-cadastrado")
    public ModelAndView gravar(MultipartFile sumario, @Valid Produto produto, 
            BindingResult result, RedirectAttributes redirectAttributes){

        if(result.hasErrors()){
            return formCadastro(produto);
        }

        String sumarioPath = saver.gravar("arquivos-sumario", sumario);
        produto.setSumarioPath(sumarioPath);
        produtoDAO.gravar(produto);
        return listar();
    }
1 resposta

Já visualizou outras perguntas no fórum?

Ao responder ou pedir ajuda na questão geralmente tem perguntas feitas por outros alunos que já foram respondidos. Você vê neste link

https://cursos.alura.com.br/course/spring-mvc-1-criando-aplicacoes-web/exercise/12403/analyse

Uma das resposta possível é este.

https://cursos.alura.com.br/course/spring-mvc-1-criando-aplicacoes-web/discussions/675920

A causa é que não existe a pasta no Tomcat desta pasta, eu configurei para criar automaticamente a pasta, porém como visto no link acima o professor Paulo explica que esta pasta é excluída ao limpar o tomcat , tendo que configurar o tomcat para poder não excluir esta pasta onde salvará os arquivos.