我目前正在使用Chrome Addon Postman-REST Client轻松创建POST/GET请求,这是一个非常好的工具.
现在我想调试一个上传脚本,我正在寻找一个工具来将请求编码为"multipart/form-data",这样我也可以发送一个文件.
谢谢你的帮助
我正在开发一个spring mvc应用程序,我想在我的控制器中处理多部分请求.在请求我MultiPartFile 也通过,目前我正在使用@RequestParam文件paramaeter,方法看起来像,
@RequestMapping(method = RequestMethod.POST)
public def save(
@ModelAttribute @Valid Product product,
@RequestParam(value = "image", required = false) MultipartFile file) {
.....
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的服务中运行良好,文件正在服务器端.现在在某处我看到,如果文件需要使用@RequestPart注释而不是@RequestParam.@RequestParam用于文件有什么不对吗?或者它将来可能会导致任何错误?
我试图通过尝试以下方法使用Spring的Reactive Framework实现和映像上传:
@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));
}
}
Run Code Online (Sandbox Code Playgroud)
但我一直收到415,出现以下错误信息:
Response status 415 with reason "Content type 'multipart/form-data;boundary=--0b227e57d1a5ca41' not supported\
Run Code Online (Sandbox Code Playgroud)
不确定是什么问题,我正在通过以下方式卷曲API:
curl -v -F "file=@jinyang.gif" -H "Content-Type: multipart/form-data" localhost:8080/images
Run Code Online (Sandbox Code Playgroud)
我尝试过不同的标题和文件变体,结果相同.这里有点不知所措,因为我过去做过这件事情似乎工作正常.我在这篇文章中看到这个功能被合并了: