Skip to content

引言

最近接了一个需求是这样的:用户在企业微信中上传图片时,在图片上加上时间、地点等水印,然后上传到服务器。

本来以为是个挺简单的需求,但是实际做下来,发现还是有不少坑,(吐槽下: uniapp 的坑够多了,再加上企业微信,简直是大坑巨坑),做这个需求前前后后花了不少时间精力,值得在这里总结下。

图片加水印

首先第一步要做到在图片上加水印,加的内容再说,先保证图片上有水印。

这块的逻辑还是挺简单的,主要的逻辑是:

坑 1: uni.canvasToTempFilePath 接口调用成,success 函数调用成功 功但是报 errMsg: "canvasToTempFilePath:ok"

canvasToTempFilePath 接口调用成功,但是没有返回 tempFilePath

坑 2: 加完水印图片上传不上去,缺少文件名

使用 image-tools 的 base64ToPath 方法将 base64 编码图片转化为临时地址后,uploadFile 上传不上去问题

base64ToPath 之后文件名丢失

uni.uploadFIle 上传的文件名为什么是默认的 file-xxxx

传递 filePath 改成 直接传 file

获取地址,并将地址字符串作为水印加到图片上

坑 1:

如有转载或 CV 的请标注本站原文地址