Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/11/2009, 09:53
nick_name
 
Fecha de Ingreso: marzo-2009
Mensajes: 37
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Adjuntar imagen de campo tipo blob en correo JavaMail

Hola de nuevo gracias por tu respuesta.

La verdad siento un poco de impotencia al no poder ni siquiera inicializar una variable de tipo InputStream.

ya que como comente utilizo para la persistencia JPA y Toplink y cuando quiero obtener el valor del logo de la compañia lo hago con un get y retorna byte[].

logo es un atributo de mi entidad compañia y tiene la siguiente declaración:

Código:
@Lob
    @Column(name = "LOGO")
    private byte[] logo;
entonces lo unico que se me ocurre para inicializar el inputStream es:
Código:
           InputStream stream = new ByteArrayInputStream(logoCompania);
            stream.read(logoCompania);
            MimeBodyPart part = new MimeBodyPart(stream);
            part.setHeader("Content-ID", "<logo>");
            mimeMultiPart.addBodyPart(part);
y no se si sea correcto utilizar : new ByteArrayInputStream para inicializar el inputStream.

despues de esto quiero comentar que tengo otra duda el codigo no marca error pero no me muestra nada y mi duda esta en que si no es necesario: part.setDataHandler(new DataHandler(source)); ya que no lo utilizo.

y en un ejemplo que hice y funciono bien pero que jala un logo de un archivo y no de la db quedo asi:

Código:
BodyPart part = new MimeBodyPart();
DataSource source = new FileDataSource("C:/Sia/Logos/imagen.jpg");
part.setDataHandler(new DataHandler(source));
part.setHeader("Content-ID", "<logo>");
mimeMultiPart.addBodyPart(part);
esto si funciono perfecto muestra la imagen en mi correo lo malo es que es de un archivo de donde jalo la imagen y no es lo que deseo.

Por esto mismo no se donde este el problema al hacerlo con el inputStream y jalar el valor de mi campo Blob..