江丶小鱼 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 封装的 matplotlib animation 不显示图像
  • ¥15 python摄像头画面无法显示
  • ¥15 关于#3d#的问题:d标定算法(语言-python)
  • ¥15 cve,cnnvd漏洞扫描工具推荐
  • ¥15 图像超分real-esrgan网络自己训练模型遇到问题
  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错