2013-02-27 204 views
0

我有一個文件上傳在我的模塊,如果給我true總是即使沒有選擇文件。春季文件上傳mvc

下面

是我的代碼:

System.out.println("File Request : "+ServletFileUpload.isMultipartContent(request)); 
     // Check that we have a file upload request 
     if(ServletFileUpload.isMultipartContent(request)) { 
      FilesInRequest.SaveFiles(request, request.getRealPath("")); 
     } 

可能是什麼問題?

請幫我找到並解決這個問題。

問候

回答

1

這是因爲ServletFileUpload.isMultipartContent(request)只檢查請求的內容類型,如果它與多ServletFileUpload.isMultipartContent(request)返回true開始。

我過去使用的解決方案之一是檢查請求是否爲MultipartHttpServletRequest,並獲取fileMap以查看是否存在文件。

Map<String, MultipartFile> fileMap = new HashMap<String, MultipartFile>(); 
if (request instanceof MultipartHttpServletRequest) { 
    MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; 
    fileMap = multiRequest.getFileMap(); 
} 
if(fileMap.size() > 0) { 
} 

我不知道這是多麼優化。

+0

那麼這是什麼解決方案? – 2013-02-27 13:02:47

+0

@Anto更新瞭解決方案 – 2013-02-27 13:04:43