sql >> データベース >  >> RDS >> Mysql

JavaからMySQLに画像を保存する

    sqlステートメントでbyte[]を文字列に変換しているため、データが正しくなくなります。

    BLOBを使用する正しい方法は、InputStreamを渡すことです。 自体。 FileInputStreamを使用できます ファイルの読み取りに使用しています。

    File image = new File(path);
    FileInputStream fis = new FileInputStream ( image );
    
    String sql="insert into imgtst (username,image) values (?, ?)";
    pst=con.prepareStatement(sql);
    
    pst.setString(1, user);
    pst.setBinaryStream (2, fis, (int) file.length() );
    

    それを取り戻すと、同様にInputStreamを取得できます。 ResultSetから :

    InputStream imgStream = resultSet.getBinaryStream(2); 
    



    1. データベースの破損

    2. PostgreSQLとRedshiftでサブストリング関数を使用する方法

    3. SQLServerの日時とタイムスタンプの違いは?

    4. SQLServer-SQLスクリプトの実行を停止または中断します