Controller
@PostMapping("/files")
public ResponseDTO<Void> upload(MultipartFile file){
fileStorageService.save(file);
return ok();
}
FileStorageService.java
package com.fastcampus.loan.service;
import org.springframework.web.multipart.MultipartFile;
public interface FileStorageService {
void save(MultipartFile file);
}
FileStorageServiceImpl.java
@Service
@RequiredArgsConstructor
public class FileStorageServiceImpl implements FileStorageService{
@Value("${spring.servlet.multipart.location}")
private String uploadPath;
@Override
public void save(MultipartFile file) {
try{
Files.copy(file.getInputStream(), Paths.get(uploadPath).resolve(file.getOriginalFilename()),
StandardCopyOption.REPLACE_EXISTING);
} catch (Exception e) {
throw new BaseException(ResultType.SYSTEM_ERROR);
}
}
}
application.yml
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
location: ./file
'스프링 관련 > 스프링' 카테고리의 다른 글
동시성 / 비동기 프로그래밍 관련 url index 페이지 (0) | 2023.01.18 |
---|---|
디자인패턴 관련 url index 페이지 (0) | 2023.01.18 |
프록시, aop 등 url index 정리 (0) | 2023.01.17 |
프레임워크 관련 url 정리 (annotation, reflection, di 등) (0) | 2023.01.17 |
인프라 관련 url index 정리 (0) | 2023.01.16 |
댓글