Skip to content

Commit 09bcd3f

Browse files
committed
fix: extension valid logic update
1 parent bfe9a61 commit 09bcd3f

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/main/kotlin/gogo/gogostage/domain/image/application/ImageValidator.kt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,21 @@ import org.springframework.web.multipart.MultipartFile
88
class ImageValidator {
99

1010
fun validImage(image: MultipartFile) {
11-
val list = listOf("jpg", "png", "gif")
12-
val splitFile = image.originalFilename.toString().split(".")
11+
val allowedExtensions = listOf("jpg", "png", "gif")
12+
val maxFileSize = 10 * 1024 * 1024 // 10MB
1313

14-
if(splitFile.size != 2)
15-
throw StageException("Image Extension Invalid", 400)
14+
val fileName = image.originalFilename ?: throw StageException("No file name", 400)
1615

17-
val extension = splitFile[1].lowercase()
16+
val extension = fileName.substringAfterLast('.', missingDelimiterValue = "").lowercase()
1817

19-
if(list.none { it == extension })
18+
if (extension.isBlank() || extension !in allowedExtensions) {
2019
throw StageException("Image Extension Invalid", 400)
20+
}
21+
22+
if (image.size > maxFileSize) {
23+
throw StageException("Image Size Exceeds 10MB", 400)
24+
}
2125
}
2226

27+
2328
}

0 commit comments

Comments
 (0)