【发布时间】:2017-12-07 21:16:34
【问题描述】:
我正在尝试使用 Spring 的响应式框架来实现和图像上传,方法是尝试以下操作:
@RestController
@RequestMapping("/images")
public class ImageController {
@Autowired
private IImageService imageService;
@PostMapping(value = "", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
Mono<ImageEntity> saveImage(@RequestBody Mono<FilePart> part) throws Exception{
return part.flatMap(file -> imageService.saveImage(file));
}
}
但我不断收到带有以下错误消息的 415:
Response status 415 with reason "Content type 'multipart/form-data;boundary=--0b227e57d1a5ca41' not supported\
不确定是什么问题,我正在通过以下方式卷曲 API:
curl -v -F "file=@jinyang.gif" -H "Content-Type: multipart/form-data" localhost:8080/images
我尝试了不同的标题和文件变体,结果相同。有点不知所措,因为我过去做过这件事,而且一切似乎都很好。我从这篇文章中看到这个功能被合并了:
How to enable Spring Reactive Web MVC to handle Multipart-file?
【问题讨论】:
-
问题更多的是 Tomcat 与 Netty。对于上述工作,请使用 Netty。
-
这是在 Netty 上的,底层服务器没有影响,见下文。
标签: spring spring-mvc reactive project-reactor