在Spring Boot中,可以使用MultipartFile对象来接收客户端上传的文件,并将文件保存到项目中。以下是一个简单的示例代码:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
try {
// 获取文件名
String fileName = file.getOriginalFilename();
// 指定文件保存路径
String filePath = "path/to/save/file/" + fileName;
// 创建文件对象
File dest = new File(filePath);
// 保存文件
file.transferTo(dest);
return "File uploaded successfully!";
} catch (IOException e) {
e.printStackTrace();
return "Failed to upload file!";
}
}
}
在上面的示例中,我们定义了一个POST请求"/upload"来接收客户端上传的文件,并将文件保存到指定的文件路径。客户端可以使用multipart/form-data格式来上传文件,将文件内容作为请求体的一部分发送到服务器。在控制器方法中,使用@RequestParam注解来获取上传的文件,然后调用transferTo方法将文件保存到指定的文件路径中。
需要注意的是,需要配置文件上传的最大大小和临时文件保存路径等属性,可以在application.properties中添加以下配置:
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.location=/tmp
以上是一个简单的文件上传示例,实际项目中可能还需要进行文件类型验证、文件大小限制等处理,具体根据项目需求来进行扩展。