개발
웹 개발
[Django] ImageField, FileField 다운로드
2024년 01월 12일 by Hwang
하고있는 프로젝트에서 모델의 imagefield 이미지를 사용자가 다운 받을 수 있게 해야 하는 경우가 있어서 알아보게 되었다.
FileResponse
FileResponse를 이용하면 쉽게 이미지를 다운 받게할 수 있다.
*예시 모델
이러한 모델에서 my_image란 imagefield의 이미지를 다운 받게하기위한 뷰는 다음과 같다.
다운 받게하기 위해서는 as_attachment를 True로 설정해주어야 한다.
as_attachment가 True일 경우 Content-Disposition
헤더가 attachment로 설정되어 브라우저에게 파일을 다운로드로 제공하도록 요청함!
파일 이름 바꾸기
추가로 다운로드될 이미지의 파일 이름을 바꿔줄 수도 있다.
FileField 다운로드
imagefield에 대해서만 다뤘지만 filefield도 마찬가지로 FileResponse를 통해 다운 받을 수 있다.
차이점은 파일을 열지 않아도 된다는 점이 있다.
Comment