backend/src/main/java/com/magamochi/service/ImageService.java

28 lines
811 B
Java

package com.magamochi.service;
import com.magamochi.model.entity.Image;
import com.magamochi.model.repository.ImageRepository;
import java.io.InputStream;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@Log4j2
@Service
@RequiredArgsConstructor
public class ImageService {
private final S3Service s3Service;
private final ImageRepository imageRepository;
public Image uploadImage(byte[] data, String contentType, String path) {
log.info("Uploading image {} to S3", path);
var fileKey = s3Service.uploadFile(data, contentType, path);
return imageRepository.save(Image.builder().fileKey(fileKey).build());
}
public InputStream getImageStream(Image image) {
return s3Service.getFile(image.getFileKey());
}
}