引言
最近接了一个需求是这样的:用户在企业微信中上传图片时,在图片上加上时间、地点等水印,然后上传到服务器。
本来以为是个挺简单的需求,但是实际做下来,发现还是有不少坑,(吐槽下: uniapp
的坑够多了,再加上企业微信,简直是大坑巨坑),做这个需求前前后后花了不少时间精力,值得在这里总结下。
图片加水印
首先第一步要做到在图片上加水印,加的内容再说,先保证图片上有水印。
这块的逻辑还是挺简单的,主要的逻辑是:
坑 1: uni.canvasToTempFilePath 接口调用成,success 函数调用成功 功但是报 errMsg: "canvasToTempFilePath:ok"
canvasToTempFilePath 接口调用成功,但是没有返回 tempFilePath
坑 2: 加完水印图片上传不上去,缺少文件名
使用 image-tools 的 base64ToPath 方法将 base64 编码图片转化为临时地址后,uploadFile 上传不上去问题
base64ToPath 之后文件名丢失
uni.uploadFIle 上传的文件名为什么是默认的 file-xxxx
传递 filePath 改成 直接传 file