千家信息网

springboot中怎么接收上传的base64图片

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,本篇文章为大家展示了springboot中怎么接收上传的base64图片,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 @ApiOperation(va
千家信息网最后更新 2025年02月06日springboot中怎么接收上传的base64图片

本篇文章为大家展示了springboot中怎么接收上传的base64图片,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    @ApiOperation(value = "更新用户信息", notes = "更新用户信息,包括手机号、邮箱、头像等", httpMethod = "GET")    @PostMapping("/profile")    public ApiResult profile(@RequestBody SysUserVo sysUserVo) {        Boolean result = false;        String imageRelativePath = "static/upload";        String imageBase64Str;        Integer userId = UserUtil.getUserId(request);        //如果相同        if (userId > 0) {            //保存头像            StringBuffer fileName = new StringBuffer();            fileName.append(UUID.randomUUID().toString().replaceAll("-", ""));            if (StringUtils.isBlank(sysUserVo.getAvatar())) {                return new ApiResult<>(false);            } else if (sysUserVo.getAvatar().indexOf(_"data:image/png;") != -1) {                imageBase64Str = sysUserVo.getAvatar().replace("data:image/png;base64,", "");                fileName.append(".png");            } else if (sysUserVo.getAvatar().indexOf(_"data:image/jpeg;") != -1) {                imageBase64Str = sysUserVo.getAvatar().replace("data:image/jpeg;base64,", "");                fileName.append(".jpeg");            } else {                return new ApiResult<>(false);            }            File path;            try {                path = new File(ResourceUtils.getURL("classpath:").getPath());                if (!path.exists()) {                    path = new File("");                }                File uploadPath = new File(path.getAbsolutePath(), imageRelativePath);                if (!uploadPath.exists()) {                    uploadPath.mkdirs();                }                String relativeFile = imageRelativePath+"/"+fileName.toString();                File file = new File(uploadPath, fileName.toString());                byte[] fileBytes = Base64.getDecoder().decode(imageBase64Str);                FileUtils.writeByteArrayToFile(file, fileBytes);                sysUserVo.setUserId(userId);                sysUserVo.setAvatar(relativeFile);            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();                return new ApiResult<>(false);            }            //更新用户信息            result = sysUserService.updateInfoByUserId(sysUserVo);        }        return new ApiResult<>(result);    }

上述内容就是springboot中怎么接收上传的base64图片,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0