我刚学会了如何使用Struts 2文件上传器上传文件。上传后,它将文件保存为.tmp文件。
我想把这个.tmp文件存储在数据库中,然后在服务器端检索它,然后在客户端将它显示为图像(就是这样)。
要做到这一点,我使用byte []数组吗?
我该怎么做?
编辑1:
我正在寻找将tmp文件转换为图像所需的java服务器端代码以及用于显示图像的struts /客户端代码 - 即name="object.image"
答案 0 :(得分:1)
尝试使用这些类型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或其他图片格式(我认为你是从客户端接收图片格式但是如果不是,那就是jmput和tmp扩展名,我这样做不要以为这个任务是真的!