Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

A imagem não abre

    // JTA
    @Transactional
    public String salvar() throws IOException {
        this.daoLivro.persist(livro);

        this.capaLivro
                .write("/home/darthvader/Documentos/Estudos/JavaEE Loja/capas/" + this.capaLivro.getSubmittedFileName());

        this.currentInstance.getExternalContext().getFlash().setKeepMessages(true);

        this.currentInstance.addMessage(null, new FacesMessage("Livros cadastrados com sucesso!"));

        return "/livros/list?faces-redirect=true";
    }

Eu estou tendo o seguinte problema, o código está funcionando normalmente porém a imagem salva "corrompida" e abre somente em branco.

3 respostas

Thiago, tudo bem ?

Cara acho que ela quebra no caminho, por conta do espaço : /Estudos/JavaEE Loja/

Tenta criar um novo diretorio sem espaço, que deve ir.

Abraços

Obrigado pela resposta! Porém não funcionou :/

Link com a imagem de erro: Erro

solução!

Resolvi fazendo o seguinte:

public static final String SERVER_PATH = "/home/darthvader/Documentos/Estudos/JavaEELoja/";

    public static void write(Part arquivo , String path){

        try (InputStream input = arquivo.getInputStream()) {
            Files.copy(input, new File(SERVER_PATH + path, arquivo.getSubmittedFileName()).toPath());
        } catch (IOException e) {
            System.err.println(e);
            throw new RuntimeException();
        }

    }