如何检索图像并将其显示在数据库的div上

时间:2014-04-29 10:55:59

标签: java sql email blob

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

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

cid:image001.png@01CF630F.005FA080

请帮助使用合适的java代码,然后我们可以将这些代码展示给该部门。

提前感谢。

1 个答案:

答案 0 :(得分:1)

通过创建一个返回图像byte []的sevlet,我解决了同样的问题。并在img src标记中调用此servlet。

示例: 此方法将为任何文件提供byte [],方法在Utilities类中

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>