Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro: no file.transferTo(new File(path)); O sistema não encontrar o caminho especificado!

Aconteceu o mesmo erro com o instrutor do vídeo, o mesmo disse que é "besteirinha" do Eclipse, deu um clean e rodou, já no meu o erro persiste !

FileSaver:

package br.com.casadocodigo.loja.infra;

import java.io.File;
import java.io.IOException;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

@Component
public class FileSaver {

    @Autowired
    private HttpServletRequest request;

    public String write(String baseFolder, MultipartFile file) {
        try {
            String realPath = request.getServletContext().getRealPath("/"+baseFolder);

            String path = realPath+"/"+file.getOriginalFilename();

            file.transferTo(new File(path));//ORIGEM DO ERRO !
        //(O sistema não pode encontrar o caminho especificado)

            return baseFolder+"/"+file.getOriginalFilename();//caminho do arquivo

        } catch (IllegalStateException | IOException e) {
            throw new RuntimeException(e);
        } 
    }
}

Conteúdo do path: C:\Users\Milton Matias\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario/arduino.png

LOG do console

ago 02, 2017 6:28:21 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [dispatcher] in context with path [/casadocodigo] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: java.io.FileNotFoundException: C:\Users\Milton Matias\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\arduino.png (O sistema não pode encontrar o caminho especificado)] with root cause
java.io.FileNotFoundException: C:\Users\Milton Matias\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\arduino.png (O sistema não pode encontrar o caminho especificado)

Log do navegador

HTTP Status 500 - Request processing failed; nested exception is java.lang.RuntimeException: java.io.IOException: java.io.FileNotFoundException: C:\Users\Milton Matias\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\arduino.png (O sistema não pode encontrar o caminho especificado)

agradeço!

4 respostas

Ola Milton,

Pode parecer besteira, mas tenta tirar o espaço no nome da pasta Milton Matias.

No meu tb dá este erro, e a pasta se chama arquivos-sumario... ele não cria esta pasta no caminho especificado

C:\Users\Guilherme\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo2\arquivos_sumario\teste.txt

Conseguiram resolver aí?

solução

Pessoal, eu estava com o mesmo erro. Segui o que está nesse outro tópico e funcionou para mim. https://cursos.alura.com.br/forum/topico-diretorio-temporario-23577

"... ele aparece pq seu tomcat ta configurado para ser instalado no diretório de plugins do eclipse. O que vc precisa fazer é:

1) Remover o seu tomcat 2) Adicionar o tomcat de novo 3) Dar 2 cliques em cima dele, na aba servers 4) Lá tem um box chamado Server Locations 5) Marque a opção Use tomcat instalation

De todo jeito, ele vai passar a salvar o arquivo na sua instalação do tomcat, que é onde o projeto é deployado. Não vai ser salvo na sua pasta do eclipse em si."

Obrigado Daiane Jessica Silva Rangel Aqui resolveu com a sua solução!