我刚刚学会了如何使用Struts 2文件上传器上传文件。上传完成后,它将文件保存为.tmp文件。将tmp文件保存到数据库
我想将这个.tmp文件存储在数据库中,然后在服务器端检索它,然后在客户端将它显示为图像(就是这样)。
为此,我使用一个byte []数组?
我该怎么做?
编辑1: 我正在寻找的tmp文件转换为图像以及在struts /客户端代码显示图像所需的Java服务器端代码 - 即name="object.image"
我刚刚学会了如何使用Struts 2文件上传器上传文件。上传完成后,它将文件保存为.tmp文件。将tmp文件保存到数据库
我想将这个.tmp文件存储在数据库中,然后在服务器端检索它,然后在客户端将它显示为图像(就是这样)。
为此,我使用一个byte []数组?
我该怎么做?
编辑1: 我正在寻找的tmp文件转换为图像以及在struts /客户端代码显示图像所需的Java服务器端代码 - 即name="object.image"
尝试使用这些类型The BLOB and TEXT Types
编辑
但戴夫·牛顿是对的!
简单的代码,只需要改变fileinputstream
您inputstream
FileInputStream fis = null;
PreparedStatement ps = null;
try {
conn.setAutoCommit(false);
File file = new File("myPhoto.png");
fis = new FileInputStream(file);
ps = conn.prepareStatement(INSERT_PICTURE);
ps.setString(1, "001");
ps.setString(2, "name");
ps.setBinaryStream(3, fis, (int) file.length());
ps.executeUpdate();
conn.commit();
} finally {
ps.close();
fis.close();
}
编辑1级
如果您正在寻找的代码转换TMP为JPEG或其他图像格式,只需读取TMP并保存为JPEG或其他图片格式(我认为你正在从客户端接收图片格式,但如果没有tmp扩展名,我不认为这个任务是真实的!)
个人而言,我倾向于建议不要这样做 - 将文件保存在文件系统上nd将数据回传。 –
不,谢谢... – ThreaT
不是一个很好的方式去做... –