如何从数据库中获取.pdf文件?

时间:2015-07-04 12:20:54

标签: java

try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost/EMP", "root", "");
    PreparedStatement ps = con.prepareStatement("insert into imgtable values(?,?)");
    ps.setString(234, "tester");
    FileInputStream fin = new FileInputStream("d:\\resume.pdf");
    ps.setBinaryStream(2, fin, fin.available());
    int i = ps.executeUpdate();
    System.out.println(i + " Your details successfully uploaded");
    con.close();
} catch (Exception e) {
    e.printStackTrace();
}

使用此代码我已将pdf文件插入数据库,它工作正常,请帮助进一步处理。如何下载pdf文件格式数据库。使用blob数据类型。

2 个答案:

答案 0 :(得分:1)

stmt = con.prepareStatement("SELECT myimg from imgtable where mykey = ?");

stmt.setString(1, "tester");
rs = stmt.executeQuery();
if (!rs.next()) {
  System.out.println("File not found in the database.");
} else {
  Blob b = rs.getBlob(1);
  BufferedOutputStream os;
  File f = new File("d:\\retrievedResume.pdf");


  os = new BufferedOutputStream(new FileOutputStream(f));
  os.write(b.getBytes(0, (int) b.length()), 0, (int) b
      .length());
  os.flush();
  os.close();
}

答案 1 :(得分:0)

如果不是特殊原因,我认为您应该将pdf文件保存到硬盘驱动程序并将位置目录保存到数据库。
它为性能节省了大量成本,我们不需要对对象进行二进制序列化和反序列化,尤其是在保存大小的文件时。
当然,当你想移动数据库时,你必须移动保存数据的文件夹。