티스토리 뷰

728x90



자바스크립트로 이미지의 바이너리를 뽑아보려고 했는데 좀처럼 안되어서

결국 이미지를 입력받아서 서버에 MultipartFile로 넘겨주고 바이너리를 돌려받는 형식으로 해결을 하였습니다.


MultipartFile로 넘겨받은 이미지의 바이너리가 필요할때 사용할 수 있는 소스 입니다.


MultipartHttpServletRequest mpRequest = (MultipartHttpServletRequest)request;

Iterator files = mpRequest.getFileNames();

String fileName = "";

while(files.hasNext()){


fileName = (String)files.next();

MultipartFile multiFile = mpRequest.getFile(fileName);


BufferedImage image = ImageIO.read(multiFile.getInputStream());

ByteArrayOutputStream baos = new ByteArrayOutputStream();

ImageIO.write(image, "png", baos);

String encodedImage = Base64.encode(baos.toByteArray());    //생성된 바이너리


byte[] blob = multiFile.getBytes();

System.out.println(multiFile.getName()+" / "+encodedImage);

baos.close();

}


이미지 파일이 커서 바이너리를 제대로 생성하지 못할 경우에는 이미지 크기를 바이너리 생성전에 리사이징 후에 처리를 해야합니다.

<img src="https://t1.daumcdn.net/cfile/tistory/2641893B56E6834423" /> 형식으로 웹에서 확인할 수 있습니다.







728x90