multipartrequest

  • 描述
    Android端使用okhttp,后台接口springmvc,当遇到一个功能模块,上传文件是非必须的条件时,在只传递字符串参数,不带files时报错:”The current request is not a multipart request”

错误代码:

1
2
3
4
("release")
public Result (@RequestParam("params") String params,
@RequestParam(value = "files", required = false) MultipartFile[] files) {
}

原因显而易见,未传递文件信息。解决办法,判断请求,从request中获取files

1
2
3
4
5
6
7
("release")
public Result updateUserInfo(@RequestParam("params") String params, HttpServletRequest request) {
MultipartFile file = null;
if (request instanceof MultipartHttpServletRequest) {
file = ((MultipartHttpServletRequest) request).getFile("files");
}
}