将tmp文件保存到数据库

时间:2012-06-14 20:44:13

标签: java mysql image hibernate struts

我刚学会了如何使用Struts 2文件上传器上传文件。上传后,它将文件保存为.tmp文件。

我想把这个.tmp文件存储在数据库中,然后在服务器端检索它,然后在客户端将它显示为图像(就是这样)。

要做到这一点,我使用byte []数组吗?

我该怎么做?

编辑1: 我正在寻找将tmp文件转换为图像所需的java服务器端代码以及用于显示图像的struts /客户端代码 - 即name="object.image"

1 个答案:

答案 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扩展名,我这样做不要以为这个任务是真的!