2014-04-29 53 views
0

我是新来的blob数据转换的内容。我正在阅读电子邮件并将其保存到身体类型为BLOB的数据库中,如果我们将图像嵌入到电子邮件中,即使这些电子邮件正在保存到其中。但问题是检索并显示给用户。图像重新创建没有发生,说图像路径失败。如何检索图像并将其显示在来自数据库的div上

图片标签中的src就是这样的。

cid:[email protected] 

请帮助一个合适的java代码,它将形成图像回来,我们可以显示在该部门。

在此先感谢。

+0

您也可以指:http://stackoverflow.com/questions/15833184/java-blob-image-display –

回答

1

我已经解决了同样的问题,通过使sevlet返回图像的字节[]。并在img src标记中调用此servlet。

举例: 这种方法会给你的byte []的任何文件,方法是在公用事业类

public static byte[] getFileData (String fileName){ 
    File f = new File(fileName); 
    byte data [] = new byte[ (int) f.length() ]; 

    try { 
     FileInputStream fis = new FileInputStream(f); 
     fis.read(data); 
     fis.close(); 
     return data; 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return null; 
}** 

,我呼吁来自servlet的的doGet这种方法如下:

final String imageName = request.getParameter("imageName");  
byte[] imageData = Utilities.getFileData(ROOT_DIR + imageName); 
response.getOutputStream().write(imageData); 

在上面的代码ROOT_DIR也被定义为C:\ TEMP \ FORMDATA \ IMAGES \

我的DIV是这样的:

<div> 
<img src='http://localhost:9080/LoadImage?imageName=one.png' /> 
</div> 
+0

我完全已经阅读电子邮件,并将其保存到数据库它是完整的HTML结构,它不存储任何路径和所有..如何将其转换回正确的格式,这将显示图像 – user3217695

+0

您的电子邮件可以有一个以上的图像吗? –

+0

可能是用户依赖和图像是内联的,我的意思是没有附加 – user3217695

相关问题