이 프로젝트는 재미있을 것이라고 생각했지만 문제가되었습니다. :(오라클에 이미지로드 및 서블릿 검색
나는 Oracle 테이블에 일부 이미지를로드 한 후 나중에 서블릿을 통해 최대 절전 모드로를 검색 할 수 있습니다.
그래서 여기에 이미지를 삽입 로더의 일부입니다.
String imageFileName = row[col++];
String ext = imageFileName.substring(imageFileName.lastIndexOf('.') + 1);
String imageFilePath = imageDir + imageFileName;
String mimeType = "image/" + ext;
image.setImageType(mimeType);
Image found = imageDAO.retrieve(imageId);
if(found==null){
//create a new one
byte[] bytes = loadImage(imageFilePath, mimeType);
image.setImageData(bytes);
image = imageDAO.create(image);
++created;
}
else{
//check if an update is needed
if(updateDate.after(found.getUpdated())){
byte[] bytes = loadImage(imageFilePath, mimeType);
found.setImageData(bytes);
found.setUpdated(updateDate);
image = imageDAO.update(found);
++updated;
}
}
}
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
String imageId = request.getParameter(KeyNames.PARM_IMAGE_ID);
if(imageId==null){
throw new NullPointerException("Image ID parameter is required");
}
Image image = getImageDAO().retrieve(imageId);
if(image==null){
throw new IllegalArgumentException(imageId + " is not a valid image ID");
}
response.setContentType(image.getImageType());
response.getOutputStream().write(image.getImageData());
response.getOutputStream().close();
return null;
}
나에게 간단한 것 같은데,하지만 난 내 브라우저를 사용하여 URL을 쳤을 때, 내가 얻을 :
여기 서블릿 내장입니다 서블릿이 성공적으로 포장되어 있기 때문에
는 "이 오류를 포함하고 있기 때문에 이미지 [URL]을 표시 할 수 없습니다", 나는 로딩 또는 검색하는 중, 나는 이미지 데이터를 손상 한 것을 생각해야합니다. 나는 다음에해야할 일에 대해 추측을하지 않으므로 조언을 듣는 것이 좋습니다.
일반적으로 이미지를 db에 저장하지 않지만 이름/ID/경로 만 저장합니다. –