28 lines
811 B
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());
|
|
}
|
|
}
|