3
respostas

Caminho Request Retorna Errado

Bom Dia, ao realizar a atividade no request não retorna o caminho real da pasta correto. Enquanto deveria retornar o caminho "...\eclipse-workspace\casadocodigo\src\main\webapp\arquivos-sumario" está retornando "..\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\casadocodigo" aonde neste ultimo a pasta não foi criada e não se pode criar nesse ultimo local devido toda vez que dou um clean no toncat ele exclui automaticamente a pasta.

Meu código:

package br.com.casacodigo.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));

            return baseFolder+"/"+file.getOriginalFilename();
        } catch (IllegalStateException | IOException e) {
            throw new RuntimeException(e);
        }
    }
}

Como Proceder para que o mesmo reconheça no caminho correto?

3 respostas

Opa, este é o caminho que o eclipse está instalando seu projeto. Ele não retorna o caminho da seu projeto no eclipse mesmo. Uma forma de mudar, é apagar o projeto do servidor, dar um duplo clique no server e pedir para usar a instalação original do tomcat. Mesmo assim ainda não vai usar o caminho da pasta no eclipse.

Compreendo, mas durante o video a criação da pasta do professor é dentro de webapp e fora da WEB-INF e o código acima retorna o caminho referente a essa pasta. "...casadocodigo\src\main\webapp\arquivos-sumario", já no meu retorna realmente retorna o caminho do servidor. Gostaria que no meu retornasse o caminho igual ao do professor dentro da minha webapp, como faço?

Opa, não vejo solução. Claro, pode ser que eu não saiba mesmo, vamos ver se outra pessoa consegue te ajudar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software