springboot

springboot怎么上传文件到项目中

小亿
90
2024-05-31 20:32:14
栏目: 编程语言

在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

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

0
看了该问题的人还看了