Я написал небольшое приложение Java на клиенте, которое вставляет изображение в виде BLOB в таблицу на IBM i.Когда я запрашиваю таблицу, я вижу, что колонка заполнена.Как я отображаю BLOB-данные в виде изображения, чтобы подтвердить, что данные были правильно записаны?
В приложении Java я записываю изображение в папку Windows 7 в виде PNG-файла, который, как я подтвердил, можно просмотреть.с окном просмотра фотографий.Затем я вставляю то же изображение в свою таблицу на V7R3 IBM i.
Blob blob = conn.createBlob();
try {
os = new ByteArrayOutputStream();
ObjectOutputStream oos;
oos = new ObjectOutputStream(blob.setBinaryStream(1));
oos.writeObject(outputfile);
oos.close();
// Write the image as a BLOB to prfruncap
queryStr = "INSERT INTO prfdta.prfruncap (rcrun, rcseq, rcimage)"
+ " VALUES(?,?,?)";
pstmt1 = conn.prepareStatement(queryStr);
pstmt1.setInt(1,run);
pstmt1.setInt(2, sequence);
pstmt1.setBlob(3, blob);
pstmt1.executeUpdate();
} catch (SQLException seRs) {
seRs.printStackTrace();
throw seRs;
} catch (IOException e) {
e.printStackTrace();
}
Когда я запрашиваю данные, я вижу, что столбец содержит данные.Я надеялся, что смогу вставить данные в онлайн-конвертер, такой как (https://codebeautify.org/base64-to-image-converter), но не могу отобразить изображение. Могу ли я просмотреть данные BLOB как изображение, чтобы убедиться, что они пишутся правильно?