Notice
Link
- Today
- Total
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Activity 전체화면
- 시간대별 통계
- kill -9
- 터치좌표 view
- reactnative
- 파티션 빠른 삭제
- SQL
- MariaDB
- pid 찾아 kill
- CentOS
- mybatis exception
- c언어
- 스크롤적용
- ffmpeg
- 말줌임 CSS
- 피쉬랜드
- springboot
- springboot 재가동
- MySQL
- rn
- vc++
- 코드로 서버 재실행
- 시간대 테이블생성
- 가변영역 스크롤
- sql exception
- group by
- Back 키 클릭 감지
- MFC
- CSS
- view 획득
Archives
개발은 하는건가..
[Springboot] 파일 다운로드 본문
반응형
파일 다운로드 예)
@GetMapping({"/api/photo/download"})
public void photoDownload(@RequestParam(required = false, defaultValue = "0") int paramKey,
HttpServletResponse response) throws IOException {
if (paramKey == 0) {
response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
return;
}
File photoFile = new File("파일경로/" + paramKey + ".jpg" );
if (photoFile.exists() == false) {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
return;
}
InputStream is = Files.newInputStream(photoFile.toPath());
response.setStatus(HttpServletResponse.SC_OK);
response.setContentType("image/jpeg");
response.setHeader("Content-Disposition", "attachment; fileName=\"" + URLEncoder.encode("img_" + paramKey + ".jpg", "UTF-8") + "\";");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Content-Length", String.valueOf(Files.size(photoFile.toPath())));
is.transferTo(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
is.close();
}
'SpringBoot , Thymeleaf' 카테고리의 다른 글
[springboot] application.properties 프로파일별로 따로두기 (0) | 2023.02.20 |
---|---|
[Springboot] jar 파일을 exe 파일로 만들기 (0) | 2023.02.13 |
[Springboot] 파일 업로드 (0) | 2023.01.30 |
[Srpingboot] Multipart file upload size limit 설정 (0) | 2023.01.06 |
[Springboot] IntelliJ 개발 환경 속도 향상 (0) | 2023.01.05 |
Comments