CNode

sharp 的一个问题 找不到原因

问答
Nnlbydcg发布于8 年前最后回复8 年前2 回复3641 浏览0 收藏

现在我这有一个问题 用的sharp来吧二维码绑定到一个背景图片上 然后返回给用户使用,我们的设计是可以随意改变二维码大小和对应背景图片的相对位置的坐标,现在改变二维码的大小,(二维码也是动态生成,生成的二维码名字不变) 发现用sharp的overlayWith合并的时候图片的尺寸还是上一次的二维码的尺寸,一直不明所以,后来看了看官方文档改用我自己先把文件读写成buffer 然后在用sharp的overlayWith合并发现就是最新的,难道是sharp代码里面有缓存么还是nodejs读取同一文件名的文件会有缓存 好疑惑

查看回复

回复 (2)

S
Shasharoman#1·8 年前

可以肯定的告诉你,sharp有缓存,但不清楚具体缓存机制。

const sharp = require('sharp');
sharp.cache(false);

试试上面的代码,禁用缓存看看现象

N
nlbydcg#2·8 年前

@Shasharoman 试了试还真是这样的 谢谢大佬,关键也不会看着源码。。吃了没技术的亏

参与回复
登录后即可参与回复。登录