DB에서 파일경로를 가져와 Base64 로 인코딩하여 화면에서 이미지를 출력하는 예제이다.
FileUtil.java
public static byte[] convertFileContentToBlob (String filePath) {
byte[] result = null;
try {
result = FileUtils.readFileToByteArray( new File(filePath));
} catch (IOException ie) {
log.error("file convert Error");
}
return result;
}
public static String convertBlobToBase64 (byte[] blob) {
return new String(Base64.getEncoder().encode(blob));
}
public static String getFileContent (String filePath) {
byte[] filebyte = convertFileContentToBlob(filePath);
return convertBlobToBase64(filebyte);
}
위처럼 FileUtils.readFileToByteArray 를 사용하려면 org.apache.commons.io 를 maven 또는 gradle 에 추가하여야 한다.
main.java
String filePath = vo.getFilePath(); //DB에서 조회한 파일경로
String fileContent = FileUtil.getFileContent(filePath);
model.addAttribute("fileContent", fileContent);
javascript
$(document).ready( function () {
var fileContent = "${fileContent}"
document.getElementById("imagePreview").src = "data:image/png;base64," + fileContent;
})
참조
stackoverflow.com/questions/2418485/how-do-i-convert-a-byte-array-to-base64-in-java
'개발 > Java' 카테고리의 다른 글
[JAVA] LocalDate 사용하여 현재 년,월,일 불러오기 및 포맷팅 (0) | 2023.07.27 |
---|---|
[JAVA/자바] 년,월,일 날짜 더하기 (0) | 2018.08.10 |
[JAVA/자바] 현재 접속한 서버의 IP 주소 확인 (0) | 2017.11.21 |
[JAVA/자바] 파일삭제 File delete() 사용법 (0) | 2017.04.13 |
[JAVA/자바] Jad Decompiler 설치 및 사용 (0) | 2017.04.11 |