@Service
@RequiredArgsConstructor
public class ProductServiceImpl implements ProductService{
final private ProductRepository productRepository;
final private ResourceLoader resourceLoader;
@Value("${image.upload.directory}")
String imageUploadDirectory;
private String saveImageFile(MultipartFile imageFile) {
// UUID를 사용하여 파일 이름 생성
String uuid = UUID.randomUUID().toString();
String fileExtension = imageFile.getOriginalFilename().substring(imageFile.getOriginalFilename().lastIndexOf("."));
String savedFilename = uuid + fileExtension;
try {
// 이미지 파일을 저장할 경로 설정
Resource resource = resourceLoader.getResource(imageUploadDirectory);
File uploadDir = resource.getFile();
Path uploadPath = Paths.get(uploadDir.getAbsolutePath(), savedFilename);
// 이미지 파일 저장
Files.copy(imageFile.getInputStream(), uploadPath, StandardCopyOption.REPLACE_EXISTING);
// 저장된 이미지 파일의 경로를 반환
return savedFilename;
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("이미지 파일을 저장하는 중에 오류가 발생했습니다.", e);
}
}
@Override
public List<Product> findAllProduct(){
List<Product> productList = productRepository.findAll();
Collections.reverse(productList);
return productList;
}
}
findAllProduct
메서드 작성이미지 크기를 균일하게 처리