1

我正在将一些图像文件(格式可能会有所不同,但如果需要我可能会对其进行限制)上传到我的服务器并将它们作为 base64 编码字符串存储在数据库中。我想从这些图像中创建缩略图,这样当我只需要预览时就不会拉下整个图像。

那里的大多数解决方案都涉及读取和写入路径,但我已将数据保存在内存中。是否有 JavaScript 或 Node.js 库或技术可以将文件压缩为字节数组或 base64 字符串?

谢谢你。

4

2 回答 2

0

试试 imagemagick 节点库。它具有各种图像处理功能。这是一个链接:

节点图像魔术

此外,我想这篇关于使用 imagemagick 有效生成缩略图的帖子也会有所帮助。

于 2013-08-13T22:15:24.930 回答
0

我对node-canvas进行了一些实验,它的另一个好处是它与 HTML5 画布几乎相同。drawImage您可以在节点或客户端使用相同的API。

节点画布自述文件还有一个关于如何调整图像大小的示例。

fs.readFile(__dirname + '/images/squid.png', function(err, squid){
  if (err) throw err;
  img = new Image;
  img.src = squid;
  ctx.drawImage(img, 0, 0, img.width / 4, img.height / 4);
});

当然,您不需要从磁盘读取或写入图像。

于 2013-08-13T22:21:07.493 回答