개발/Java
[Java] Base64Encoding(예 : 이미지)
코딩하는 흰둥이
2023. 3. 12. 21:44
package com.example.demo.controller;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
public class testController {
public static void main(String []args) throws IOException {
final String DATA_DIR = "C:\\imege\\";
File dir = new File(DATA_DIR);
String path = DATA_DIR;
String fileName = "";
// 폴더 내의 모든 파일을 읽어온다
String[] filenames = dir.list();
for (int i = 0; i <filenames.length ; i++) {
fileName = filenames[i];
System.err.println("fileName : "+fileName);
byte[] fileContent = FileUtils.readFileToByteArray(new File(DATA_DIR+fileName));
String encodedString = Base64.getEncoder().encodeToString(fileContent);
// image 타입에 따라 확장자를 변경해주면 된다.
System.err.println("encodedString : "+"data:image/gif;base64,"+encodedString);
}
}
}
- pom.xml
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
- 실행 예
상황에 맞춰서 db에 넣거나 보여주면 된다.
혹시나 모르시는 분들은 위해
encodedString : data:image/gif~~~~~~~~ 의 문구에서 data:image/gif~~~~~~~~~~~ 문구를 복사해서 인터넷 주소 창에 복사한 뒤 엔터를 누루면 해당 이미지가 나오는 것을 확인 할 수 있다. 이렇게 나오면 정상적으로 encoding 된 것이다