SpringMVC上传文件,MultiPartFile参数为空,解决方式(部分)

一、springmvc.xml(springmvc配置文件)

	<!--配置文件解析器对象-->
    <!--此处的id必须为multipartResolver,否则在控制器无法得到MultipartFile对象-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="104857600"/>
    </bean>

二、controller

	@RequestMapping("/fileupload2")
	//若没有@RequestParam("此处对应Form表单input的name属性值")
    public String fileupload2(@RequestParam("upload") MultipartFile upload) throws Exception {
        System.out.println("Springmvc file up load...");
        //上传位置
        // String path = request.getSession().getServletContext().getRealPath("uploads/");
        //System.out.println(path);
        //获取项目运行真实路径(tomcat 服务器bin目录)
        String realpath = System.getProperty("user.dir");
        System.out.println("realpath:"+realpath);
        //此文件夹默认在bin下
        String path = "uploads";
        File file = new File(path);
        if(file == null){
            System.out.println("file is null");
            return "success";
        }
        System.out.println(file.getAbsolutePath());
		//实际路径 E:\\server\\apache-tomcat-7.0.42\\bin\\uploads
        if(!file.exists()){
            //创建文件夹
            file.mkdir();
        }
        //说明上传文件项
        //获取上传文件名称
        if (upload == null) throw new AssertionError();
        String filename = upload.getOriginalFilename();
        //把文件名称设置为唯一值
        String uuid = UUID.randomUUID().toString().replace("-","");
        filename = uuid+"_"+filename;
        //完成文件上传
        File f = new File(path,filename);
        upload.transferTo(f);
         System.out.println(f.getAbsolutePath());
         return "success";
    }

三、Form表单

<h3>springmvc方式上传</h3>
<form action="user/fileupload2" method="post"
    enctype="multipart/form-data">
   	选择文件:<input type="file" name="upload"/> <br>
    <input type="submit" name="submit"/>
</form>

参考链接:
https://blog.csdn.net/weixin_43069201/article/details/86150950

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值