原来的入口方法:
@RequestMapping(value = "/uploadSwingCardimg")
@ResponseBody
public Object uploadSwingCardimg(@RequestParam(value = "file", required = false) MultipartFile file,
HttpServletRequest request)
解决方法,入口方法不直接接受文件,先判断request中是否包含文件,如果包含则请求转发到接受文件的入口,如果不包含文件则直接调用方法的方式执行,这样不带文件就绕过文件必传的限制了。
代码如下:
@RequestMapping(value = "/uploadSwingCardimg")
@ResponseBody
public Object uploadSwingCardimg(HttpServletRequest request, HttpServletResponse response) {
try {
// 判断请求是否包含文件
if(ServletFileUpload.isMultipartContent(request)) {
//包含文件,请求转发
request.getRequestDispatcher("uploadSwingCardimgWithFile").forward(request,response);
} else {
//不含文件,直接调用
return uploadSwingCardimgWithFile(null,request);
}
} catch (Exception e) {
logger.error("请求转发异常",e);
}
return null;
}
@RequestMapping(value = "/uploadSwingCardimgWithFile")
@ResponseBody
public Object uploadSwingCardimgWithFile(@RequestParam(value = "file", required = false) MultipartFile file,
HttpServletRequest request)