PSQLException: 错误: 无法打开服务器文件 "path/photo.jpg" : 没有此类文件或目录



如何在postgresql中插入iod照片?!我在服务器中有这些照片,我无法在PostgreSQL DB中使用 lo_import 插入它。

private static void insertPhoto(String nom,int pos) throws SQLException {
    Statement stmt = connection.createStatement();
    String path = "http://10.0.0.84/stade_photo/"+pos+".jpg";
    System.out.println(path);
    String sql = "UPDATE stadephenologique SET photo= "
            + "lo_import('"+path+"') WHERE nom='"+nom.replaceAll("'", "''")+"'";
    stmt.executeUpdate(sql);
    stmt.close();
    connection.commit();
    System.out.println(nom );
}

这是例外:

成功打开数据库 http://10.0.0.84/stade_photo/1.jpg 线程"主" org.postgresql.util.psqlexception中的异常:错误:无法打开服务器文件" http://10.0.0.84/stade_photo/1.jpg":没有这样的文件或目录

我已将照片的类型更改为bytea,并且使用此功能对我有用

private static void insertPhoto(String nom,int pos) throws SQLException, FileNotFoundException {
    String path = "stade_photo/"+pos+".jpg";
    System.out.println(path+" nom="+nom);
    PreparedStatement pstmt = connection.prepareStatement("UPDATE stadephenologique SET photo = ? WHERE nom = ?");
    File file = new File(path);
    FileInputStream in = new FileInputStream(file);
    try
    {
        pstmt.setBinaryStream(1, in, (int) file.length());
        pstmt.setString(2, nom);
        pstmt.executeUpdate();
        connection.commit();
    }
    catch (Exception ee)
    {
        System.out.println("Exception is:- " + ee);
    }
}

相关内容

最新更新