私はJSPとサーブレットを使用してWebアプリケーションに取り組んでおり、その画像のパスを含む文字列として画像を取得していました。
while(rset.next())
{ %>
<img src='<%rset.getString(1)%>' />
<% }
そして、データベース内のテーブルは次のようになります。
id ---- image_path
1.....images/aaa.png
2.....images/bbb.png
ここで行っているのは、実際には画像自体ではなく、画像のパスを取得することです。画像は images というフォルダー内にあります。
しかし後で、実際に画像をデータベースに保存する別の方法を見つけました。
PreparedStatement ps = con.prepareStatement("INSERT INTO pictures VALUES(?,?)");
File file = new File("C:/apache-tomcat-6.0.16/webapps/CodingDiaryExample/images/5.jpg");
FileInputStream fs = new FileInputStream(file);
ps.setInt(1,8);
ps.setBinaryStream(2,fs,fs.available());
int i = ps.executeUpdate();
最適なアプローチはどれですか?