HttpMethod.PUT 上的 400 BAD 请求错误 - 第二次上传文件
400 BAD Request error on HttpMethod.PUT - File upload second time
我在上传 zip 文件的控制器中有一个 PUT 请求方法,该方法将其作为输入流并处理流。它适用于 Kb 的文件大小。现在我上传了一个 10Mb 大小的 zip 文件,第一次就可以正常工作。第二次,它没有上传,我收到 BAD 请求错误。当我重新启动该服务时,它第一次工作正常,第二次我收到相同的 BAD Request 400 错误。请指教
@RequestMapping(path = “/upload/{fileName}”, method = PUT,
consumes = "multipart/form-data", produces = "application/json; charset=UTF-8")
public void upload(@PathVariable(“fileName”) String fileName,
@RequestBody MultipartFile[] multipartFile) throws IOException{
//inputstream is processed here
}
要在 spring 引导中上传文件,我更喜欢这种方法:
@RequestMapping(value = "/upload", method = RequestMethod.PUT) // Or POST
@ResponseStatus(HttpStatus.OK)
public void upload(@RequestParam("file") MultipartFile file) {
System.out.println(String.format("File name %s", file.getName()));
System.out.println(String.format("File original name %s", file.getOriginalFilename()));
System.out.println(String.format("File size %s", file.getSize()));
//do whatever you want with the MultipartFile
file.getInputStream();
}
在 Spring 引导中配置分段文件上传
最常用的属性是:
spring.http.multipart.file-size-threshold: 文件写入磁盘的阈值。支持以 MB 或 KB 作为后缀来表示以兆字节或千字节为单位的大小
spring.http.multipart.location:临时文件的位置
spring.http.multipart.max-file-size: 上传支持的每个文件的最大大小;还支持 MB 或 KB 后缀; 默认1MB
spring.http.multipart.max-request-size:整个请求的最大大小;也支持MB或KB后缀
您当然可以在 yml 的 application.properties 中更改这些配置。
在你的情况下,我希望你去休息 api 然后检查堆栈错误以查看确切的错误是什么。
我在上传 zip 文件的控制器中有一个 PUT 请求方法,该方法将其作为输入流并处理流。它适用于 Kb 的文件大小。现在我上传了一个 10Mb 大小的 zip 文件,第一次就可以正常工作。第二次,它没有上传,我收到 BAD 请求错误。当我重新启动该服务时,它第一次工作正常,第二次我收到相同的 BAD Request 400 错误。请指教
@RequestMapping(path = “/upload/{fileName}”, method = PUT,
consumes = "multipart/form-data", produces = "application/json; charset=UTF-8")
public void upload(@PathVariable(“fileName”) String fileName,
@RequestBody MultipartFile[] multipartFile) throws IOException{
//inputstream is processed here
}
要在 spring 引导中上传文件,我更喜欢这种方法:
@RequestMapping(value = "/upload", method = RequestMethod.PUT) // Or POST
@ResponseStatus(HttpStatus.OK)
public void upload(@RequestParam("file") MultipartFile file) {
System.out.println(String.format("File name %s", file.getName()));
System.out.println(String.format("File original name %s", file.getOriginalFilename()));
System.out.println(String.format("File size %s", file.getSize()));
//do whatever you want with the MultipartFile
file.getInputStream();
}
在 Spring 引导中配置分段文件上传
最常用的属性是:
spring.http.multipart.file-size-threshold: 文件写入磁盘的阈值。支持以 MB 或 KB 作为后缀来表示以兆字节或千字节为单位的大小
spring.http.multipart.location:临时文件的位置
spring.http.multipart.max-file-size: 上传支持的每个文件的最大大小;还支持 MB 或 KB 后缀; 默认1MB
spring.http.multipart.max-request-size:整个请求的最大大小;也支持MB或KB后缀
您当然可以在 yml 的 application.properties 中更改这些配置。
在你的情况下,我希望你去休息 api 然后检查堆栈错误以查看确切的错误是什么。