SpringMVC做文件上传

第一步首先建立jsp文件

<form action="upload.do" method="post" enctype="multipart/form-data">
    文件:<input type="file" name="pic"><br>
    <input type="submit" value="提交">
</form>

第二步修改配置文件让项目可以解析复杂表单类型

  <!--复杂类型表单的解析器
    id:必须使用multipartResolver
    -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--以字节为单位-->
        <property name="maxUploadSize" value="999999999999999999"></property>
    </bean>

第三步controller

public class UploadController {
    @RequestMapping("/upload.do")
    public String upload(HttpServletRequest req) throws IOException {
        //将req强制转换成MultipartHttpServletRequest
        MultipartHttpServletRequest mf= (MultipartHttpServletRequest) req;
        MultipartFile pic = mf.getFile("pic");
        byte[] bytes = pic.getBytes();
        //设置文件名
        String fileName=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
        Random random = new Random();
        for (int i = 0; i <3; i++) {
            fileName=fileName+random.nextInt(10);
        }
        //获得原始文件名
        String oName = pic.getOriginalFilename();
        //获得文件后缀
        String suffix = oName.substring(oName.lastIndexOf("."));
        //最终文件名
        fileName=fileName+suffix;
        //获得项目部署绝对路径
        String realPath = req.getSession().getServletContext().getRealPath("/");
        BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream(realPath+"/upload/"+fileName));
        bo.write(bytes);
        bo.flush();
        bo.close();
        return "success";
    }

    @RequestMapping("/toUpload.do")
    public String toUpload() {
        return "upload";
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值