파일 업로드에 대한 제한을 변경하여 .zip 파일도 허용하도록 만들려면, 서버 측과 클라이언트 측 양쪽에서 수정해야 할 부분이 있습니다. 여기에 간단한 예제를 제시하겠습니다.
### 1. 서버 측 (Java - Spring Framework 기준)
#### Controller 클래스 수정:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@RestController
@RequestMapping("/upload")
public class FileUploadController {
@PostMapping
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
// 여기에 파일 처리 로직을 추가
// 예시: 파일 이름 출력
System.out.println("Uploaded file name: " + file.getOriginalFilename());
return "File uploaded successfully!";
}
}
```
#### 설정 파일에 파일 확장자 제한 추가:
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.multipart.commons.MultipartResolver;
@Configuration
public class AppConfig {
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSize(10485760); // 10MB 제한 (원하는 크기로 수정 가능)
// 허용할 파일 확장자 추가
resolver.setAllowedFileTypes(new String[]{"jpg", "pdf", "zip"});
return resolver;
}
}
```
이 코드는 Spring Framework를 기준으로 작성되었으며, 실제로 사용 중인 프레임워크에 따라 코드가 달라질 수 있습니다. 또한, 파일 처리 로직은 실제 요구사항에 따라 수정해야 합니다.
### 2. 클라이언트 측 (HTML - 기본적인 예제)
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>File Upload</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<label for="file">Choose a file:</label>
<input type="file" id="file" name="file" accept=".jpg, .pdf, .zip">
<button type="submit">Upload</button>
</form>
</body>
</html>
```
`accept` 속성을 사용하여 클라이언트 측에서도 특정 확장자만 허용하도록 설정할 수 있습니다. 위의 예제에서는 .jpg, .pdf, .zip 파일만 허용하도록 설정되어 있습니다.
이 예제 코드를 참고하여 프로젝트에 적용하시면 됩니다. 프레임워크나 라이브러리에 따라 세부적인 설정은 다를 수 있으니 해당 문서를 참조하여 작업하시면 됩니다.
'게으른 개발자의 끄적거림' 카테고리의 다른 글
Java static이란? static변수 설명 (0) | 2024.01.02 |
---|---|
싱글톤 패턴(Singleton Pattern)이란? (0) | 2024.01.02 |
Java EE란? (0) | 2023.12.27 |
JEUS란?? JEUS 설명 (0) | 2023.12.26 |
Java ServletException 해결 방법 (1) | 2023.12.26 |