【发布时间】:2014-06-15 06:33:30
【问题描述】:
我不熟悉内容的 blob 数据转换。我正在阅读电子邮件并将正文类型保存为 BLOB 的数据库,如果我们将图像嵌入到电子邮件中,即使那些正在保存到其中。但问题是检索并显示给用户。图像重新创建没有发生,它说图像路径失败。
图像标签中的 src 是这样的。
cid:image001.png@01CF630F.005FA080
请帮忙提供合适的java代码,它将形成图像,我们可以显示到分区中。
提前致谢。
【问题讨论】:
我不熟悉内容的 blob 数据转换。我正在阅读电子邮件并将正文类型保存为 BLOB 的数据库,如果我们将图像嵌入到电子邮件中,即使那些正在保存到其中。但问题是检索并显示给用户。图像重新创建没有发生,它说图像路径失败。
图像标签中的 src 是这样的。
cid:image001.png@01CF630F.005FA080
请帮忙提供合适的java代码,它将形成图像,我们可以显示到分区中。
提前致谢。
【问题讨论】:
我已经解决了同样的问题,方法是制作一个返回图像字节 [] 的 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>
【讨论】: