AliOSS 图片水印简单处理

2 篇文章 0 订阅

 官方说明文档:图片水印 - 对象存储 OSS - 用户指南 - 数据处理与索引 - 新版图片处理指南 - 图片处理参数 - 图片水印

前提: 在OSS的同一个 存储空间,可以不同文件夹,但要在同一个 BUCKET 内。

唯一要注意的是:

在添加水印操作中,文字水印的文字内容、文字颜色、文字字体、图片水印的水印图片名称等参数需要进行URL安全的Base64编码。编码步骤如下:

  1. 将内容编码成Base64。
  2. 将结果中的部分编码替换。
    • 将结果中的加号(+)替换成短划线(-)。
    • 将结果中的正斜线(/)替换成下划线(_)。
    • 将结果中尾部的等号(=)省略。

/**
     * 添加图片水印
     * @param type $mine_qcode      二维码
     * @param type $tg_image        背景海报
     * @return string
     */
    public function watermark2($mine_qcode, $tg_image) {
        $image_src = str_replace(AliConfig::OSS_HTTP, '', $mine_qcode); 
        $image = $this->urlsafe_b64encode($image_src);
        $pic_watermark_config = "?x-oss-process=image/watermark,image_" . $image;
        $pre_watermark = $tg_image . $pic_watermark_config;
        return $pre_watermark;
    }

  function urlsafe_b64encode($string) {
        $data = base64_encode($string);
        $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);
        return $data;
    }

效果图:

 图片位置请自行参考文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp 是一个跨平台的开发框架,可以用于开发多个平台的应用程序。如果你想在 UniApp 中导出 Excel 文件并使用 Java 的 EasyExcel 库,可以考虑以下步骤: 1. 在 UniApp 中安装第三方插件 uni-mp-alioss,该插件提供了上传文件的功能。 2. 在 UniApp 中创建一个页面,包含一个表格,以及一个按钮,当用户点击按钮时,将表格数据导出到 Excel 文件。 3. 在按钮的点击事件中,使用 uni-mp-alioss 插件上传 Excel 文件到阿里云 OSS 对象存储服务。 4. 在 Java 中,使用 EasyExcel 库读取 OSS 中的文件,进行数据处理。 以下是 Java 的代码示例: ```java // 导入 EasyExcel 库 import com.alibaba.excel.EasyExcel; // 从 OSS 中读取 Excel 文件 InputStream inputStream = ossClient.getObject(bucketName, objectName).getObjectContent(); // 定义 Excel 数据处理类 class ExcelDataListener extends AnalysisEventListener<T> { private List<T> dataList = new ArrayList<T>(); public void invoke(T object, AnalysisContext context) { dataList.add(object); } public void doAfterAllAnalysed(AnalysisContext context) { // 处理 dataList 中的数据 } } // 使用 EasyExcel 读取 Excel 文件 EasyExcel.read(inputStream, clazz, new ExcelDataListener()).sheet().doRead(); ``` 其中,clazz 是 Excel 文件中数据对应的 Java 类型,T 是该类型的泛型。在 ExcelDataListener 的 invoke 方法中,将 Excel 文件中的数据添加到 dataList 中,最后在 doAfterAllAnalysed 方法中处理 dataList 中的数据。你可以根据自己的需求进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值