我不熟悉内容的blob数据转换。我正在阅读电子邮件并保存到主体类型为 BLOB 的数据库中,如果我们将图像嵌入到电子邮件中,即使是将其保存到其中。但问题是检索并向用户显示。没有发生图像重新创建它说图像路径失败。
图片标签中的src就是这样的。
cid:image001.png@01CF630F.005FA080
请帮助使用合适的java代码,然后我们可以将这些代码展示给该部门。
提前感谢。
答案 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>