zoukankan      html  css  js  c++  java
  • SpringBoot用户头像上传

    1、上传到本地服务器

    controller层主要以MultipartFile接收即可,这里返回给前端的该文件保存后的相对路径

        @RequestMapping(value = "/application/file/upload", method = RequestMethod.POST)
        public Object uoloadFile(@RequestParam("file") MultipartFile file) {
            return buildMessage(ResultModel.SUCCESS, appService.uoloadFile(file));
        }

    2.下面看下service层upload的具体实现:

        public String uploadFile(MultipartFile file) throws NotifyException {
            // 首先校验图片格式
            List<String> imageType = Lists.newArrayList("jpg","jpeg", "png", "bmp", "gif");
            // 获取文件名,带后缀
            String originalFilename = file.getOriginalFilename();
            // 获取文件的后缀格式
            String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase();
            if (imageType.contains(fileSuffix)) {
                // 只有当满足图片格式时才进来,重新赋图片名,防止出现名称重复的情况
                String newFileName = UUIDTypeHandler.createUUID() + originalFilename;
                // 该方法返回的为当前项目的工作目录,即在哪个地方启动的java线程
                String dirPath = System.getProperty("user.dir");
                String path = File.separator + "uploadImg" + File.separator + newFileName;
                File destFile = new File(dirPath + path);
                if (!destFile.getParentFile().exists()) {
                    destFile.getParentFile().mkdirs();
                }
                try {
                    file.transferTo(destFile);
                    // 将相对路径返回给前端
                    return path;
                } catch (IOException e) {
                    log.error("upload pic error");
                    return null;
                }
            } else {
                // 非法文件
                log.error("the picture's suffix is illegal");
                throw new NotifyException(ExceptionConstants.FILE_UPLOAD_ERROR);
            }
        }

    上述代码是以上传图片为例,上传文件同理,只要去掉图片格式验证即可

  • 相关阅读:
    windows对象的属性和方法
    JavaScript事件处理
    HTML骨架-深入理解
    js阻止元素的默认事件与冒泡事件
    CSS3之背景色渐变
    CSS3匹配屏幕横竖状态
    LINUX系统GIT使用教程
    博客园文章页显示布局调整
    JS编码解码详解
    JS设置获取cookies
  • 原文地址:https://www.cnblogs.com/yanl55555/p/12541528.html
Copyright © 2011-2022 走看看