Boa noite Otávio,
Meu codigo está assim:
FileSaver.java
package br.com.casadocodigo.loja.infra;
import java.io.IOException;
import javax.servlet.http.Part;
public class FileSaver {
public static final String SERVER_PATH = "/casadocodigo";
public String write(Part arquivo, String path) {
String relativePath = path + "/" + arquivo.getSubmittedFileName();
String fullPath = SERVER_PATH + "/" + relativePath;
try {
arquivo.write(fullPath);
} catch (IOException e) {
throw new RuntimeException(e);
}
return relativePath;
}
}
AdminLivrosBean.java
@Transactional
public String salvar() {
FileSaver fileSaver = new FileSaver();
String capaPath = fileSaver.write(capaLivro, "livros");
livro.setCapaPath(capaPath);
dao.salvar(livro);
context.getExternalContext()
.getFlash().setKeepMessages(true);
context
.addMessage(null, new FacesMessage("Livro cadastrado com sucesso!"));
return "/livros/lista?faces-redirect=true";
}
Alterei o o caminho no codigo para:
public class FileSaver {
public static final String SERVER_PATH = "C:\\casadocodigo\\livros";
public String write(Part arquivo, String path) {
String relativePath = path + "\\" + arquivo.getSubmittedFileName();
String fullPath = SERVER_PATH + "\\" + relativePath;
try {
arquivo.write(fullPath);
} catch (IOException e) {
throw new RuntimeException(e);
}
return relativePath;
}
}
e mesmo assim aparece o erro:
javax.servlet.ServletException: java.nio.file.InvalidPathException: Illegal char <:> at index 31: C:\casadocodigo\livros\livros\C:\casadocodigo\android-featured_large.png
O que pode ser?