Olá pessoal!
Não consigo exibir a foto que foi gravado no banco de dados. Da a seguinte mensagem de erro:
SEVERE: Unable to get parts for j_idt8:j_idt13
javax.servlet.ServletException: org.apache.tomcat.util.http.fileupload.FileUploadBase$InvalidContentTypeException: the request doesn’t contain a multipart/form-data or multipart/mixed stream, content type header is application/x-www-form-urlencoded;charset=UTF-8
at org.apache.catalina.connector.Request.parseParts(Request.java:2772)
Consegui gravar no banco de dados da seguinte forma:
View:
…
Imagem: <h:inputFile value="#{grupoUsuarioControlador.fotografia}"/>.
GrupoUsuarioControlador:
…
@ManagedBean
@SessionScoped
public class GrupoUsuarioControlador implements Serializable{
private javax.servlet.http.Part fotografia;
…
public void adiciona() {
try {
EntityManager manager = this.getEntityManager();
GrupoUsuarioRepositorio repositorio = new GrupoUsuarioRepositorio(manager);
InputStream is = fotografia.getInputStream();
byte[] bytes = new byte[is.available()];
is.read(bytes);
is.close();
grupoUsuario.setFotoFrente(bytes);
repositorio.adiciona(this.grupoUsuario);
…
Estou usando o JSF 2.2 e JPA, e não uso nenhum frame work como: PrimeFaces, RichFaces…
Gostaria que fosse exibida em um DataTable, dessa forma:
<h:column>
<f:facet name =“header”>
<h:outputText value =“Foto”/>
</f:facet>
<h:graphicImage value="#{grupo.fotoFrente}" id=“imagem”/>
</h:column>
Meu Bean:
@Entity
public class GrupoUsuario implements Serializable {
…
@Lob
private byte[] FotoFrente;
…