[英]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.