개발자의 끄적끄적

[springboot/kotlin] kotlin spring boot download file from url in browser / 코틀린 스프링부트 url 파일 다운로드 예제 본문

개발/springboot

[springboot/kotlin] kotlin spring boot download file from url in browser / 코틀린 스프링부트 url 파일 다운로드 예제

효벨 2023. 8. 27. 01:00
728x90
반응형

[springboot/kotlin] kotlin spring boot download file from url in browser / 코틀린 스프링부트 url 파일 다운로드 예제

 

 

스프링부트 프로젝트를 진행하다보면

 

파일 다운로드를 구현하는데, 로컬 서버에 있는 파일이 아니라,

 

url 정보를 가지고 파일을 다운해야 하는 경우가 있습니다.

 

그중에서

 

코틀린으로 개발된 스프링부트에서

 

url 로 파일을 다운로드 하는 샘플을 공유하고자 합니다.

 

val fileName = "sample.pdf";
val fileUrl = [FILE_URL]

var resource: Resource? = null
try {
    resource = UrlResource(fileUrl)
} catch (e: MalformedURLException) {
    e.printStackTrace()
}
return ResponseEntity.ok()
    .contentType(MediaType.APPLICATION_PDF)
    .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"")
    .body(resource)

 

위 내용 보시면 아시겠지만,

 

resource 에 UrlResource 객체에서 반환된 값을 담는게 포인트 입니다!

 

여러가지 소스들이 많이 돌아다니지만, 

 

이거 하나 잘못되서 한참 삽질을 했었거든요...ㅠ

 

위 샘플은 pdf 를 다운로드 하는 거지만,

 

이미지나 엑셀 등등 다른 형식의 파일들도 

 

contentType(MediaType.APPLICATION_PDF) 이부분을 변경해서 다운로드 구현하시면 됩니다!

 

참고들 하세요!

반응형
Comments