繁体   English   中英

Spring Boot 文件上传不起作用(错误请求)

[英]Spring Boot file upload doesn't work (bad request)

我正在尝试通过使用 Spring Boot 和 Kotlin 创建的 Rest API 进行简单的文件上传。 这是我的代码:

@RestController
@RequestMapping("/api")
class Controller {

    @PostMapping("/upload")
    fun handleFileUpload(@RequestParam("file") file: MultipartFile): ResponseEntity<String> {
        try {
            file.transferTo(File("C:\\upload\\" + file.originalFilename))
        }
        catch (e: Exception) {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build()
        }
        return ResponseEntity.ok("File uploaded successfully.")
    }

}

当我使用 Postman 对其进行测试时,我得到状态“400 Bad Request”。

我正在使用 URL http://localhost:8080/api/upload 的 Post-Request。 在 Header 部分中,我保留了所有内容(我在某处读到 Content-Type Header 有时会引起麻烦,因此暂时将其关闭,但这没有帮助)。 在正文部分,我选择了“form-data”,添加了一个名为“file”的键,并选择了我的测试文件作为值。

我究竟做错了什么?

尝试检查您的配置,特别是如果您在 application.yml 或 application.properties 中有以下内容:

spring.servlet.multipart.enabled=true
spring.servlet.multipart.location=${java.io.tmpdir}

而且在你的 pom.xml 或 build.gradle 依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.6.1</version>
</dependency>

您可以从本教程中获得一些灵感: https ://www.baeldung.com/spring-file-upload

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM