Onde posso concluir a aula 09 Enviando arquivos ao servidor, uma vez que foi salvo o caminho do arquivo, mas o arquivo não foi salvo e nem apresentado na view?
Onde posso concluir a aula 09 Enviando arquivos ao servidor, uma vez que foi salvo o caminho do arquivo, mas o arquivo não foi salvo e nem apresentado na view?
Fala Clerman, tudo bem ?
Se o caminho do arquivo foi salvo, verifique dentro do projeto, o mesmo provavelmente está lá. Como o foco da explicação é o envio de arquivos para o servidor (request multipart) e não a utilização dos recursos na view, o upload com sucesso já configura o termino do exercício com sucesso.
Um ponto não tão legal da solução é que se o eclipse não estiver controlando a pasta de instalação do tomcat da sua máquina (por padrao ele cria uma 'cópia' internamente, nas pastas do plugin wtp) é difícil buscar o arquivo depois, e também uma atualização do projeto (novo build) pode apagar os arquivos salvos dentro da pasta do projeto.
Você poderia tentar outra solução:
@Component
public class FileSaver {
private static final String USER_HOME = System.getProperty("user.home");
public String write(MultipartFile file) {
//num linux por exemplo /home/seuUsuario
//num mac os /Users/seuUsuario
//num windows C:\Users\seuUsuario => cuidado com a barra aqui se usar windows
String filePath = USER_HOME + "/casadocodigo/sumarios/" + file.getOriginalFilename();
try {
file.transferTo(new File(filePath));
return filePath;
} catch (IOException e) {
throw new RuntimeException("Não foi possível salvar arquivo", e);
}
}
Assim você cria uma pasta fora da sua app web e lá ficam seus arquivos. Em geral a solução de mercado é justamente não deixar os arquivos e recursos dentro so servidor que roda a app web. Usa-se ao invés disso algum servidor de arquivos que expõe os recursos em urls abertas pra consumir depois, ou algum serviço fora como Amazon Simple Storage Service (s3) que tem uma api legal pra vc usar.
Espero ter ajudado. Abraço!
Olá Rafael Rollo, em dois momentos o autor deixa claro que a visualização do arquivo vai se dar em algum momento durante o curso (aos 12:35 e 14: 39 minutos do vídeo 2), por isso o questionamento, mas não adianta reclamar, deixa pra lá! Segue o jogo! Quanto a sua dica, achei muito bacana e me ensinou mais uma, a do Amazon Simple Storage Service, e em relação a colocar o arquivo fora do servidor num path que sugeriu, achei bacana também!
Fala Clerman, tudo bem ?
Bacana que consegui ajudar de alguma forma. Vou verificar essa questão de utilizar na view citada pelo instrutor e vejo por aqui como podemos resolver isso.
Abraço!