SpringBoot文件上传处理

发布时间:2024-11-27 15:05:07 作者:小樊
来源:亿速云 阅读:80

在Spring Boot中,处理文件上传非常简单。你需要做的是:

  1. 添加依赖

在你的pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  1. 创建Controller

创建一个Controller类来处理文件上传请求。例如,创建一个名为FileUploadController的类:

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
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.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

@RestController
public class FileUploadController {

    private static final String UPLOAD_DIR = "uploads/";

    @PostMapping("/upload")
    public ResponseEntity<String> handleFileUpload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
            return new ResponseEntity<>("Please select a file to upload", HttpStatus.BAD_REQUEST);
        }

        try {
            byte[] bytes = file.getBytes();
            Path path = Paths.get(UPLOAD_DIR + file.getOriginalFilename());
            Files.write(path, bytes);

            return new ResponseEntity<>("File uploaded successfully: " + file.getOriginalFilename(), HttpStatus.OK);
        } catch (IOException e) {
            e.printStackTrace();
            return new ResponseEntity<>("Failed to upload file: " + file.getOriginalFilename(), HttpStatus.INTERNAL_SERVER_ERROR);
        }
    }
}

在这个例子中,我们创建了一个名为handleFileUpload的方法,它接收一个MultipartFile类型的参数file。这个方法将文件保存到服务器UPLOAD_DIR目录下。

  1. 测试文件上传

你可以使用Postman或者curl等工具测试文件上传功能。例如,使用curl发送一个POST请求:

curl -X POST -H "Content-Type: multipart/form-data" -F "file=@/path/to/your/file.txt" http://localhost:8080/upload

/path/to/your/file.txt替换为你要上传的文件的实际路径。如果上传成功,你将收到一个包含文件名的响应。

推荐阅读:
  1. Springboot Feign文件上传
  2. SpringBoot文件上传下载

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springboot

上一篇:SpringBootAPI网关实现

下一篇:SpringBoot邮件发送功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》