본문 바로가기
개발/Java

[Java] Base64Encoding(예 : 이미지)

by 코딩하는 흰둥이 2023. 3. 12.
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 된 것이다

 

댓글