1. 程式人生 > >SpringMVC中MultipartFile引數問題

SpringMVC中MultipartFile引數問題

SpringMVC中MultipartFile引數問題

如果方法的引數中帶了MultipartFile(不管@RequestParam是true還是false),那麼spring mvc就會先判斷該請求是不是multipart請求。如果請求引數中沒有帶multipartFile,則會報錯"org.springframework.web.multipart.MultipartException: The current request is not a multipart request"。這種情況導致了檔案是必傳的引數,從網上找到了大神的回答,有解決方案如下:

方法的引數中不要MultipartFile,方法體中做好判斷,程式碼如下

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart){ 
    MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request, MultipartHttpServletRequest.class);
    MultipartFile file = multipartRequest.getFile("file");
}

多張圖片,必須傳的時候:

@RequestParam(value="imgs" ,required =false) CommonsMultipartFile[] imgs