java ssm框架 文件上传,获取不到文件

     控制器中方法:
             @RequestMapping(value = "/upload2")
public void uploadFile2(HttpServletRequest request, HttpServletResponse response) {
    try {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        List<MultipartFile> fileList = multipartRequest.getFiles("file");

        for (MultipartFile mf : fileList) {
            if(!mf.isEmpty()){
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

    jsp页面:
    <form action="upload2" value="file" enctype="multipart/form-data" method="post" >
<div style="margin-bottom:10px;">
    <input type="file"    value="file" id="image" />
    <input type="submit"   value="提交" />
</div>

  xml配置文件:

<bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8" />

    <property name="maxUploadSize" value="2000000000" />
</bean>

    在控制器中multipartRequest.getFiles("file")获取的list为0,有大神知道问题出在哪吗?

jar包
CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包:
Commons-fileupload.jar
Commons-io.jar
在springmvc.xml中
配置多媒体解析器

<bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 设置上传文件的最大尺寸为5MB -->
    <property name="maxUploadSize">
        <value>5242880</value>
    </property>
</bean>

图片上传
 controller:

//修改提交
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Items items, MultipartFile pictureFile)throws Exception{

    //原始文件名称
    String pictureFile_name =  pictureFile.getOriginalFilename();
    //新文件名称
    String newFileName = UUID.randomUUID().toString()+pictureFile_name.substring(pictureFile_name.lastIndexOf("."));

    //上传图片
    File uploadPic = new java.io.File("F:/develop/upload/temp/"+newFileName);

    if(!uploadPic.exists()){
        uploadPic.mkdirs();
    }
    //向磁盘写文件
    pictureFile.transferTo(uploadPic);

.....

 页面:

form添加enctype="multipart/form-data":

action="${pageContext.request.contextPath }/item/editItemSubmit.action"
method="post" enctype="multipart/form-data">

以前做过这个 是这么取文件吗multipartRequest.getFiles("file")

jsp写错了,文件控件不是value=“file”,而是name="file":

 <input type="file"  name="file" id="image" />

你这个好像缺东西呀 不知道是什么思路

也可能是缺少commons-fileupload.jar包

 <dependency>
    <artifactId>commons-fileupload</artifactId>
    <groupId>commons-fileupload</groupId>
    <version>1.3</version>
</dependency>

  - 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->

p:defaultEncoding="UTF-8"
p:maxUploadSize="5400000"
p:uploadTempDir="fileUpload/temp"
>

/beans:bean

你getFile的时候,调用的是页面上的name属性,你在页面上连name=“file”都没有,你怎么可以获取file呢?

1:前台

2:后台
public void uploadFile2(HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value = "file", required = true) MultipartFile file,) {

    System.out.println(file.getSize());
    System.out.println(file.getInputStream());

}

图片说明

前端用jquery.fileupload.js插件,后端commons.fileupload解析

把 xml 配置里面的文件上传配置删除就可以了