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

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条)

报告相同问题?

悬赏问题

  • ¥15 如何用Thoony写ESP32温湿度检测无源蜂鸣器报警代码?
  • ¥20 部件内部的CT图像数据集
  • ¥15 Visual studio调用动态库
  • ¥15 双目摄像头标定后的校准文件
  • ¥15 powerbi矩阵增加度量值后出现对应关系错乱
  • ¥30 频率分析法分析绘制奈奎斯特图、波特图
  • ¥15 弹出来一万个系统找不到指定的文件框框,怎么解决
  • ¥15 ADS生成的微带线为什么是蓝色空心的
  • ¥15 求一下解题思路,完全不懂
  • ¥15 tensorflow