한번만 봐주라 ㅠㅠ 연습중인데 막혀가지고 답이안나와소 찾는중임...ㅠㅠ
ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String,Object>>();
//인코딩화해서 DB에 집어넣을 이미지파일폴더임.
File dirFile = new FIle("C:/picture");
//디렉토리(폴더)가 존재하면 아래코드 실행한다.
if(dirFile.exists() && dirFile.isDirectory()){
File[] fileList = dirFile.listFiles();
//폴더For문 시작
for(File tempFile : fileList) {
String fileFullName = tempFile.getName(); //파일풀네임
String onlyFileExt = (fileFullName.substring(fileFullName.lastIndexOf(".")+1)).toLowerCase(); //파일확장자
String onlyFileName = fileFullName.toLowerCase().substring(0, fileFullName.lastIndexOf(".")); //파일이름(확장자제외)
String FileEncoding = encodeToString(tempFile, ".jpg"); //인코딩시도
ㄴ 여기서 유틸로 인코딩시도했더니 유틸의 첫번째파라미터가 타입이 안맞아서 에러가남.
//photo_extends는 확장자 전역변수...(jpg,jpeg,png 등등...)
if(photo_extends.contains(onlyFileExt)){
HashMap<String, Object> photo = new HashMap<String, Object>();
photo.put("filename", onlyFileName);
photo.put("fileFullName", fileFullName);
photo.put("fileExt", onlyFileExt);
list.add(photo);
}
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
※위 코드처럼 짜서 list로 파일들 뽑아왔는데, 이 파일들을 제일 중요한 base64인코딩을 하고싶어서 유틸을 짰어.
public static String encodeToString(BufferedImage image, String type) {
String imageString = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try{
ImageIO.write(image, type, bos);
byte[] imageBytes = bos.toByteArray();
BASE64Encoder encoder = new BASE64Encoder();
imageString = encoder.encode(imageBytes);
bos.close();
} catch(){
//익셈션처리
}
return imageString;
}
}
=============================
이렇게 짜서 인코딩을 하고싶었지만 유틸을 써보니 이 유틸은 파라미터타입이 서로 안맞아서 에러가 나더라구...
이런경우에는 어느부분을 수정해야될지 조언좀 부탁해...ㅠㅠ
이거만 하면 발뻗고 잠잘수있을거같애
댓글 0