Base64란?
8bit의 이진데이터를 공통 ASCII문자들로 이루어진 문자열로 바꾸는 인코딩 방식으로 , 바이너리 데이터를 String 형태로 변경하는 것이다.
- 신뢰할 수 없는 통신에서도 안전하게 데이터를 전송하기 위해 사용
- 길이가 늘어나지만, base64는 안전한 출력문자만 사용
// 바꾸고자 하는 url
String exampleUrl="http:// ~";
URL url = new URL(exampleUrl);
BufferedImage img = ImageIO.read(url);
// URL을 통해 File 생성
File file = new File("downloaded.jpg");
ImageIO.write(img, "jpg", file);
InputStream finput = new FileInputStream(file);
byte[] imageBytes = new byte[(int)file.length()];
finput.read(imageBytes, 0, imageBytes.length);
finput.close();
String filePathName = exampleUrl.replace("file:///", "");
String fileExtName = filePathName.substring( filePathName.lastIndexOf(".") + 1);
// Base64
String imageStr = Base64.encodeBase64String(imageBytes);
// 밑에 changeString은 img 태그안에 쓰이는 용입니다. 위에만 참고하셔도 괜찮아요!
String changeString = "data:image/"+ fileExtName +";base64, "+ imageStr;
'Java' 카테고리의 다른 글
[JAVA 기초] 자바 데이터 타입, 변수 그리고 배열 (0) | 2021.06.15 |
---|---|
[JAVA 1] JVM은 무엇이며, 자바 코드는 어떻게 실행하는 것인가. (0) | 2021.05.15 |
[JAVA] 메모리 관리 (스택, 힙) (0) | 2021.03.04 |