springboot-web:单文件上传

首先创建一个controller类,再在类中写入:

    //创建一个类成员变量,简单日期格式变量
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
    @RequestMapping("/upload")
    public String upload(MultipartFile uploadFile, HttpServletRequest request){
        String realPath=request.getSession().getServletContext().getRealPath("/uploadFile/");
        System.out.println(realPath);//控制台输出文件的存储位置,以便校对
        String format=sdf.format(new Date());//创建一个日期变量并规定其格式
        File folder=new File(realPath+format);//创建一个文件对象folder,参数是文件夹名
        if (!folder.isDirectory()){
//directory:目录、文件,检查folder是否为文件夹
            folder.mkdirs();//依照文件名生成所有目录,mkdir只会生成最后的目录
            //File file=new File("C://a/b");mkdir只生成目录b,mkdirs生成所有目录a/b
            String oldName=uploadFile.getOriginalFilename();
            //UUID.randomUUID().toString():生成一个在此刻唯一的全局唯一标识符(由时间数组成的)
            //substring:截取指定两个下标之间的字符串
            String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."),oldName.length()-0);
            try{
                //transfer to:转移到,new File(folder,newName):目录folder底下的文件名newName
                uploadFile.transferTo(new File(folder,newName));//把上传的文件复制给newFile
                //getScheme:返回当前链接使用的协议:http,getServerName:获得服务器名称,getServerPort:获得服务器端口
                String filePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/uploadFile/"+format+newName;
                return filePath;//返回文件的存储位置,可在浏览器中直接复制访问
            } catch(IOException e){
                e.printStackTrace();
            }
        }
        return "上传失败!";
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值