728x90
https://freedeveloper.tistory.com/193?category=808728
일전에 Java 버전으로 개발했던 부분을 Kotlin 으로 컨버팅 하면서 기록 한다
리소스 파일 읽어오기
Java 버전과 거의 동일하다
javaClass.getResourceAsStream(PATH)
: resource
디렉토리 안에 있는 파일을 InputStream 형태로 반환 해준다
val fileName = "sampleUpload.xlsx"
val filePath = Paths.get("${File.separatorChar}file", fileName)
val resource: Resource = InputStreamResource(javaClass.getResourceAsStream(filePath.toString()))
리소스 파일 다운로드 하기
리소스에 있는 엑셀 양식 다운로드 서비스 구현 예시
서비스 구현부
/**
* Sample 엑셀 양식 다운로드
* @return
* @throws IOException
*/
@Throws(IOException::class)
fun getSampleExcelForm(): ResponseEntity<Resource> {
val fileName = "sampleUpload.xlsx"
// 리소스 파일 획득하기
val filePath = Paths.get("${File.separatorChar}file", fileName)
val resource: Resource = InputStreamResource(javaClass.getResourceAsStream(filePath.toString()))
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.cacheControl(CacheControl.noCache())
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=$fileName")
.body(resource)
}
컨트롤러 구현부
@Operation(summary = "Sample 엑셀 양식 다운로드")
@GetMapping("/excelform")
@Throws(IOException::class)
fun getSampleExcelForm(): ResponseEntity<Resource> = sampleExcelService.getSampleExcelForm()
728x90
'Kotlin' 카테고리의 다른 글
[Kotlin] Intellij에서 Kotlin SDK를 실수로 삭제 했을때 (0) | 2022.02.23 |
---|---|
[Kotlin] Kotlin Entity Field 생성 SQL (0) | 2021.10.06 |
[Kotlin] 리플렉션(Reflection) 으로 제네릭(Generic) 객체 생성하기 (0) | 2021.08.02 |
[Kotlin] Java 코드(Function, static, IntStream, mapToObj) -> Kotlin 코드 변환 (0) | 2021.08.01 |
[Kotlin] Spring 리소스(Resource) to File 파일변환 (0) | 2021.08.01 |
댓글