spring boot+ MyBatisPlus 存储图片/修改图片

spring boot+ MyBatisPlus 存储图片/修改图片

图片存储

entity实体

/**
     * 背景图
     */
    @ExcelResources(title="背景图")
    @ApiModelProperty(value = "背景图")
    private String background;

/**
     * 背景图附件ID
     */
    @ExcelResources(title="背景图uuid")
    @ApiModelProperty(value = "背景图")
    private String backgroundUuid;
/**
     * 背景图的base64
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "背景图的base64")
    private String backGroundBase64;

impl

	@Override
    @Transactional
    public void add(dt entity) {
        baseMapper.insert(entity);
        //处理背景图
        String backGroundBase64 = entity.getBackGroundBase64().split(",")[1];
        SysResultDTO<SysAttachment> sysResultDTO = sysAttachmentService.saveByBase64String(backGroundBase64,
                DtTemplateService.TABLE_NAME,
                ISysAttachmentService.BACKGROUND_IMAGE,
                entity.getId()+"",".png");

        if(sysResultDTO.getSuccess()){
            //设置背景图信息
            entity.setBackground(sysResultDTO.getData().getPath());
            entity.setBackgroundUuid(sysResultDTO.getData().getUuid());
            //处理预览图
            String previewBase64 = entity.getPreviewBase64().split(",")[1];
        }else{
            //如果失败 删除这条数据
            baseMapper.deleteById(entity.getId());
            //R.error("背景图保存失败");
        }
    }

图片修改

impl

	@Override
    @Transactional
    public R updateById(dt entity) {

        //如果前端传的数据是base64  则进入更新图片操作
        //图片不变则只修改数据

if (!V.isEmpty(entity.getBackGroundBase64())) {
            //如果是图片 则判断 图片id是否否存在  不存在则添加  存在则修改
            if (V.isEmpty(entity.getBackGroundGround())) {
                String programImageBase64 = entity.getBackGroundBase64().split(",")[1];
                SysResultDTO<SysAttachment> sysResultDTO = sysAttachmentService.saveByBase64String(programImageBase64,
                        DtService.TABLE_NAME,
                        ISysAttachmentService.BACKGROUND_IMAGE,
                        entity.getUuid() + "", ".png");
                if (sysResultDTO.getSuccess()) {
                    //设置背景图信息
                    entity.getBackGroundBase64(sysResultDTO.getData().getPath());
                    entity.getBackGroundBase64Uuid(sysResultDTO.getData().getUuid());
                    baseMapper.updateById(entity);
                } else {
                    //如果失败 删除这条数据
                    baseMapper.deleteById(entity.getUuid());
                }
            }else{
        int backGroundBase64= entity.getBackGroundBase64().indexOf("base64");
        if(backGroundBase64>0){
            SysResultDTO<SysAttachment> sysResultDTO = sysAttachmentService.updateByBase64String(entity.getBackGroundBase64().split(",")[1], entity.getBackgroundUuid());
            if (!sysResultDTO.getSuccess()) {
                return R.error("更新背景图失败");
            } else {
                entity.setBackground(sysResultDTO.getData().getPath());
                entity.setBackgroundUuid(sysResultDTO.getData().getUuid());
            }
        }
      }
        baseMapper.updateById(entity);
        return R.ok("更新成功");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值