java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream

今天做Spring mvc文件上传遇到这个问题,仔细看了看是否缺少commons-fileupload-1.2.jar。结果发现并没有缺少。

那么问题出在哪里呢?


原来是commons-fileupload jar 包从1.0升到1.1的时候。DeferredFileOutputStream.class被移除了。

解决这个问题,只需要添加commons-io jar包即可。它里面存在DeferredFileOutputStream.class这个类

commons-io 下载链接:http://pan.baidu.com/s/1i3g0IqD 密码:9nol

实现文件上传的控制器代码:

@RequestMapping("/fileload")
    public String fileload(MultipartFile file,HttpServletRequest req){
        //上传文件存在的位置
        String path=req.getSession().getServletContext().getRealPath("upload");
        //获得上传文件的名字
        String filename=file.getOriginalFilename();
        //加载上传的文件
        File targetfile=new File(path,filename);
        if(!targetfile.exists()){
            //查看目录是否存在,如何不存在就创建这个目录
            targetfile.mkdirs();
        }
        try{
            //保存文件
            file.transferTo(targetfile);
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
        return "success";
    }

jsp页面代码:

<form action="fileload" method="post" enctype="multipart/form-data">
        <p>请选择一个文件:<input type="file" name="file"/></p>
        <p><input type="submit" value="开始上传" /> </p>
    </form>

上传成功后,转发页面。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一缕阳光直射你的心扉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值