maven项目 文件上传到服务器端解析为空

使用SSM框架开发一个maven项目,在实现一个文件上传的功能时,发现前端传到后端Controller类进行解析的时候,request里面读出来的文件流为空——也就是这个文件没正确传到后端。
百思不得其解,求了解的朋友能够帮忙看一下。
下面是我的前端上传代码和后端解析代码。

        <!-- 文件上传测试 -->
        <div class="panel-body">                   
                    <form method="POST" class="form-horizontal" action="exam/uploadQuestions.html" enctype="multipart/form-data">
                                                                     选择一个测试文件:<input type="file" name="uploadFile">
                         <input type="submit"  name="uploadSubmit" value="上传">
                    </form>                 
        </div>

Controller类方法。

 /**
     * 上传考试题目,返回包含了考试题目的main界面
     * @param request
     * @param response
     * @return
     * @throws IOException 
     */
    @RequestMapping(value="/uploadQuestions")
    public ModelAndView uploadQuestions(HttpServletRequest request, HttpServletResponse response) throws IOException {
        ModelAndView view = new ModelAndView("root/message");
        System.out.println("开始上传文件至服务器");
        DiskFileUpload diskFileUpload = new DiskFileUpload();//这个已经被废弃了,之后改成菜鸟教程的示例中的做法‘
        try {
            List<FileItem> list = diskFileUpload.parseRequest(request);//解析表单中每一个字段的数据,
            //包装成独立的FileItem对象并且以List方式返回
            System.out.println("准备遍历所有的FileItem...下面是表单field的name");
            for(FileItem i:list) {
                System.out.println(i.getFieldName());
            }

            //下面处理所有的FileItem
            for(FileItem i:list) {
                if(i.isFormField()) {
                    System.out.println("这是普通表单字段:"+i.getFieldName()+";"+i.getName()); 
                }else {
                    System.out.println("这是文件表单字段:"+i.getFieldName()+";"+i.getName()+"; 准备进行保存");
                    //File remoteFile = new File(new String(i.getName().getBytes(),"UTF-8"));//获得要上传的文件的引用
                    File remoteFile = new File(i.getName());//不使用转换编码格式的话就可以传递文件名为中文的文件了
                    System.out.println("客户端文件位置:"+remoteFile.getAbsolutePath());
                    System.out.println("path:"+remoteFile.getPath()+"; name:"+remoteFile.getName());


                    //下面指定要把上面的remoteFile保存为?
                    File saveFile = new File(new String(remoteFile.getName()));
                    saveFile.createNewFile();

                    //下面把remoteFile的内容输出到saveFile
                    InputStream ins = i.getInputStream();//获得这个fileItem的输入流
                    OutputStream ous = new FileOutputStream(saveFile);//获得saveFile的输出流

                    byte[] buffer = new byte[1024];
                    int len=0;
                    while( (len=ins.read(buffer)) > -1) {
                        ous.write(buffer, 0, len);
                        System.out.println("文件已经保存到:"+saveFile.getAbsolutePath());
                    }
                    ous.close();
                    ins.close();



                }
            }
        } catch (FileUploadException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return view;


    }

需要注册 multipartResolver

<!--文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="100000"></property>
</bean>

有了这个可以直接收到文件

    //处理表单输入
@RequestMapping(method=RequestMethod.POST)
//@Valid是对user参数的验证
public String addForm(@Valid User user,BindingResult br,@RequestParam(value="image",required=false)MultipartFile image,Model model){
    if(br.hasErrors()){
        model.addAttribute("br",br);
        return "/user/edit";
    }
    LOG.info("Image:"+image.getName()+"  Image Size:"+image.getSize());
 //        saveImage();
    userService.saveUser(user);
    return "redirect:/home/"+user.getUserName();
}

参考
http://www.cnblogs.com/wmmang-blog/p/3705268.html