• spring mvc 简单的文件上传与下载


    上传文件有很多种方法,这里主要讲解的是spring mvc内提供的文件上传

    前提使用:spring mvc 

    在这个之前我们需要把环境给配置好

    1:springmvc的XML配置文件加上这一段就即可,

    <!-- 配置文件上传 -->
        <!--200*1024*1024即200M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 -->
        <bean id="multipartResolver"
              class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="209715200" />
            <property name="maxUploadSizePerFile" value="2097152"/>
            <property name="defaultEncoding" value="UTF-8" />
            <property name="resolveLazily" value="true" />
        </bean>

    2:在JSP页面我们需要注意的一点是需要在form标签里面加上

    enctype="multipart/form-data"  这一段

     <form class="layui-form" action="" method="post" enctype="multipart/form-data">
     ………… 
     <input type="file" name="ufiles"/>
    …………
    <form>

    3:在控制层接收文件,实现上传

     //在控制层接受到文件,然后调用文件上传方法
     //方法返回的是一个存入数据库的路径,也可以根据自己需求进行修改
        @RequestMapping("/updateUser")
        public String updateUser(MultipartFile ufiles,HttpSession session){
         //调用上传文件方法,返回一个保存到数据库的路径 String imgUrl
    = FileUploading.uploading(ufiles,session); return "redirect:/userPage/update.jsp"; }

    4:文件上传方法

    public class FileUploading {
    
        /**
         * 文件上传
         * @param ufiles
         * @param session
         * @return 保存到数据库的路径
         */
        public static String uploading(MultipartFile ufiles, HttpSession session){
            if(!ufiles.isEmpty()){
                //获取放置图片的路径
                String beanPath = session.getServletContext().getRealPath("/images");
                //获取图片名字
                String realName = ufiles.getOriginalFilename();
                try {
                    //开始上传
                    ufiles.transferTo(new File(beanPath+"/"+realName));
                    //保存路径到数据库
                    String imgUrl = session.getServletContext().getContextPath()+"/images/"+realName;
                    return imgUrl;
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return null;
        }
    }

    对于上传文件命名的处理每个人都有不同的方法,在这里不做讲解。

  • 相关阅读:
    bzoj 1853: [Scoi2010]幸运数字 容斥
    bzoj 3545&&3551: [ONTAK2010]Peaks &&加强版 平衡树&&并查集合并树&&主席树
    bzoj 2331: [SCOI2011]地板 插头DP
    bzoj 3669: [Noi2014]魔法森林 动态树
    bzoj 2734: [HNOI2012]集合选数 状压DP
    bzoj 3751: [NOIP2014]解方程 同余系枚举
    bzoj 2594: [Wc2006]水管局长数据加强版 动态树
    bzoj 2049: [Sdoi2008]Cave 洞穴勘测 动态树
    bzoj 2209: [Jsoi2011]括号序列 splay
    bzoj 1223: [HNOI2002]Kathy函数 数位DP 高精度
  • 原文地址:https://www.cnblogs.com/javaLin/p/8274751.html
Copyright © 2020-2023  润新知