2013-02-27 161 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