1
resposta

Enviando arquivos ao servidor - RealPath

Estou postando este tópico pois não consegui responder um fórum que continha a mesma duvida que a minha. Como de certa forma achei uma solução para o seguinte fórum:

PARTE DO FÓRUM https://cursos.alura.com.br/forum/topico-erro-no-metodo-48978 13/12/2017 Leandro Starke (54.5k xp, 29 posts) O mesmo está acontecendo comigo. java.io.IOException: java.io.FileNotFoundException: C:\dev\projects.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo\arquivos-sumario\C:\Users\Starke\Desktop\fotos_isa.txt (A sintaxe do nome do arquivo, do nome do diretório ou do rótulo do volume está incorreta) Alguém conseguiu solucionar ? PARTE DO FÓRUM

OBSERVEM ACIMA O CAMINHO DUPLICADO

SOLUCAO

package br.com.novo.edfrangos.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 {
            //ASSIM ESTA NA AULA
            // String realPath = request.getServletContext().getRealPath("\\"+baseFolder); 

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

            //pega o caminho
            String realPath = request.getServletContext().getRealPath("");

            //pega o nome do arquivo
            String path = file.getOriginalFilename();

            //aqui quando cria ele já traz o caminho.
            //se usar "String realPath = request.getServletContext().getRealPath("\\"+baseFolder);" DUPLICA O CAMINHO
            file.transferTo(new File(path));

            //salva o caminho completo
            return realPath + "\\" + baseFolder + "\\" + file.getOriginalFilename();

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

        }
    }
}
1 resposta

Opa, obrigado Thiago pela colaboração. Apenas adicionando uma opinião. Não recomendo usar a pasta de plugins do tomcat para manter o tomcat. Eu removeria o projeto, removeria o tomcat, adicionaria o tomcat, apertaria 2x no servidor e escolheria usar a instalação original. Dessa forma não fica essa pasta meia maluca hhehee.