江丶小鱼
2017-04-07 03:59
采纳率: 20%
浏览 4.6k
已采纳

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,有大神知道问题出在哪吗?
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

11条回答 默认 最新

  • 貌似善良v 2017-04-10 08:56
    已采纳

    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">
    评论
    解决 无用
    打赏 举报
查看更多回答(10条)

相关推荐 更多相似问题