Ну, вам не нужно использовать Blob.inputStream, вы можете просто записать двоичные данные изображения в outputtream, как показано ниже;
out.write(photo,0,photo.length);
вместо;
InputStream in = photo.getBinaryStream();
int length = (int) photo.length();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
while ((length = in.read(buffer)) != -1) {
System.out.println("writing " + length + " bytes");
out.write(buffer, 0, length);
}
in.close();