我需要发送多部分请求。
提交表单时,后端出现错误,
由处理程序执行引起的已解决异常:org.springframework.web.HttpMediaTypeNotSupportedException:不支持内容类型'application / octet-stream'
我能够从高级休息客户那里获得帮助,但遇到了棱角问题。
下面的后端是REST端点。
@PostMapping("/createCIF")
public Response < Map < String, Object >> createCIF(
@RequestPart("actDocs") List < MultipartFile > actDocs,
@Valid @RequestPart("createCIFReq") CreateCIFReq createCIFReq,
HttpServletRequest request) throws URISyntaxException {
}
下面是component.ts文件中的角侧面代码。
let formData = new FormData();
formData.append('actDocs', this.userInfoService.mulitPartFileArray);
formData.append('createCIFReq', JSON.stringify(this.userInfo));
this.userInfoService.createCif(formData)
.pipe(first())
.subscribe(
data => {
}
}
角端服务级别代码
createCif(formData): any {
return this.http.post<any>(this.url + 'createCIF',
formData)
.pipe(map(cif => {
return cif;
}));
}
答案 0 :(得分:0)
我整天都在这个问题上陷入困境。
Angular似乎无法为JSON部分设置正确的内容类型。 我设法通过创建一个Blob解决了这个问题:
let formData = new FormData();
formData.append('actDocs', this.userInfoService.mulitPartFileArray);
formData.append(
'createCIFReq',
new Blob([JSON.stringify(this.userInfo)], {type: 'application/json'})
);
希望有帮助。