在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
以上是一个简单的文件上传示例,实际项目中可能还需要进行文件类型验证、文件大小限制等处理,具体根据项目需求来进行扩展。