Binary Data를 텍스트로 변경하는 인코딩 방식 중 하나로 바이너리 데이터를 문자 코드에 영향을 받지 않는 공통 64개의 ASCII영역의 문자들로 이루어진 문자열로 변경
import static java.util.Base64.*;
public class Base64Test {
public static void main(String[] args) {
String test = "안녕하세요 저는 개발자입니다";
byte[] testBytes = test.getBytes();
Encoder encoder = getEncoder();
Decoder decoder = getDecoder();
byte[] encodeByte = encoder.encode(testBytes);
byte[] decodeByte = decoder.decode(encodeByte);
System.out.println(test);
System.out.println(new String(encodeByte));
System.out.println(new String(decodeByte));
}
}
//출력
인코딩 전: 안녕하세요 저는 개발자입니다
인코딩: 7JWI64WV7ZWY7IS47JqUIOyggOuKlCDqsJzrsJzsnpDsnoXri4jri6Q=
디코딩: 안녕하세요 저는 개발자입니다
- frontend
fdata.append("file", base64toFile($("#imgBox").attr("src"), setNam + "_mapimage.png"));
// backend (SVC)
// 파일 객체를 저장하여 atfPat, atfNam 변수(경로, 이름)로 저장시켜 map에 저장한후 db로 보냄
ArrayList fileList = (ArrayList) inputMap.get("__fileList__");
if (fileList != null && fileList.size() > 0){
FileVO fileVO = (FileVO) fileList.get(0);
String atfPat = fileVO.getFileStreCours();
atfPat = atfPat.replace("/new_upload/upload", "");
atfPat = atfPat.replace("\\", "/");
inputMap.put("atfPat", atfPat);
inputMap.put("atfNam", fileVO.getStreFileNm());
}
// 데이터 다시 불러올때 (script)
var imageUrl = "/utl/web/imageSrc.do?path=/new_upload/upload"+imgPat+"&physical="+imgNam+"&contentType=image/jpeg";

// frontend (script)
var base64Image = $("#imgBox").attr("src");
// backend (SVC) String으로 변환 후 DB에 저장
String base64Image = (String)inputMap.get("imgFile");
inputMap.put("imgFile", base64Image);
// 데이터 다시 불러올때 (script) 이미지 태그의 src를 base64값으로 설정
document.getElementById("imgBox").src = response.img_file;
