로컬 하드 드라이브의 URL에서 가져온 이미지 인 Blob 열이있는 행을 삽입해야합니다. 나의 시도는 다음과 같습니다Java를 사용하여 데이터베이스에 이미지 삽입
는File file = new File(imageURL);
FileInputStream input;
byte[] data = null;
try {
input = new FileInputStream(file);
data = new byte[input.available()];
input.close();
} catch (Exception e) {
e.printStackTrace();
}
은 그 때 나는 내 이미지 오브젝트를 구축 : 된 imagen IMA = 새로운 된 imagen (0, 데이터, 새 Date()); 나는 그것을 다른 관리자에게 보냅니다.
이byte[] datos = image.getDatos();
Blob blob = null;
try {
blob = conection.createBlob();
blob.setBytes(1,datos);
} catch (SQLException e) {
e.printStackTrace();
}
java.sql.Date sqlDate = new java.sql.Date(image.getFecha().getTime());
String query = " INSERT INTO imagen VALUES('" + image.getId() + "','"
+ blob + "','" + sqlDate + "') ";
int lastID = BBDD.add(query, conection);
나는 문제없이 실행할 수 있지만, 나는 단지이 "[email protected]"내 MySQL의 doesn' 같은 것을 얻을 :이 같은 BLOB 객체로 바이트 []를 변환됩니다 내 다른 것을 보여주지 마라.
아무도 도와 줄 수 있습니까?. 나는 그것을보기 위해 SQLyog를 사용한다.
감사합니다.
'InputStream.available()'은 입력 스트림에 포함 된 바이트 수를 알려주지 않습니다. 그리고 코드에서 입력 스트림을 읽지도 않습니다 ('read()'메서드를 호출해야합니다) –