Skip to content

Commit

Permalink
[LINKER-X] fix: 불필요한 코드 삭제, 파일 확장자 Validation
Browse files Browse the repository at this point in the history
  • Loading branch information
ktj1997 committed Jan 28, 2024
1 parent 6c81174 commit d8773ea
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
package com.imlinker.domain.common.file;

import java.util.List;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public enum FileType {
JPEG("image/jpeg");
IMAGE(List.of(new String[] {"image/jpeg", "image/png"}));

private final String contentType;
private final List<String> contentType;

public boolean isSupported(String type) {
return contentType.contains(type);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ public OperationResult update(UpdateUserParam param) {

public OperationResult updateProfileImage(Long userId, MultipartFile file) {
String fileName = String.format("user:%s-profile-%s", userId, LocalDateTime.now());
URL fileUrl = fileUploader.uploadImage(new UploadFileRequest(fileName, FileType.JPEG, file));
URL fileUrl = fileUploader.uploadImage(new UploadFileRequest(fileName, FileType.IMAGE, file));

userUpdater.updateProfileImage(userId, fileUrl);
return OperationResult.SUCCESS;
Expand Down
10 changes: 8 additions & 2 deletions modules/aws/src/main/java/com/imlinker/s3/S3Uploader.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,22 @@ public URL uploadImage(UploadFileRequest request) {
request.getFileName(),
request.getFileType().getContentType());

if (!request.getFileType().isSupported(request.getFile().getContentType())) {
log.info(
"[S3][FileUpload][실패] 지원하지 않는 이미지 파일 형식(contentType={})",
request.getFile().getContentType());
throw new ApplicationException(ErrorType.INVALID_REQUEST_PARAMETER);
}

try {
InputStream fis = request.getFile().getInputStream();
ObjectMetadata metaData = new ObjectMetadata();
metaData.setContentLength(request.getFile().getSize());
metaData.setContentType(request.getFileType().getContentType());
metaData.setContentType(request.getFile().getContentType());

s3Client.putObject(bucket, request.getFileName(), fis, metaData);
String responseUrl = s3Client.getUrl(bucket, request.getFileName()).toString();

System.out.println(responseUrl);
return URL.of(responseUrl);
} catch (Exception e) {
log.info(
Expand Down
2 changes: 1 addition & 1 deletion modules/aws/src/main/resources/application-aws-local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ aws:
accessKey: ${AWS_ACCESS_KEY}
secretKey: ${AWS_SECRET_KEY}
s3:
bucket: ${AWS_S3_BUCKET:dangle-image}
bucket: ${AWS_S3_BUCKET}

0 comments on commit d8773ea

Please sign in to comment.