You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Node.js v14.15.3中出现的Error: Stream yields empty buffer错误?

Issue with ImageMagick Resizing Large Images (>4000x5000)

我最近在用ImageMagick搭配gm库做图片缩放处理,遇到了一个棘手的问题:当处理分辨率超过4000x5000像素的图片时,程序会抛出错误。

我的图片缩放代码如下:

const gm = require('gm').subClass({ imageMagick: true });
const resize = (imageStream, width, height) => new Promise((res, rej) => {
  gm(imageStream.on('error', rej))
    .resize(width, height, '>')
    .noProfile()
    .toBuffer('jpeg', (err, data) => (err ? rej(err) : res(data)));
});

我已经核对过ImageMagick的资源限制配置,理论上应该能支撑这类大尺寸图片的处理,具体配置参数如下:

  • Width: 64MP
  • Height: 64MP
  • List length: 18.446744EP
  • Area: 3.2212GP
  • Memory: 2GiB
  • Map: 3GiB
  • Disk: 10GiB
  • File: 786432
  • Thread: 2
  • Throttle: 0
  • Time: unlimited

有没有技术同行遇到过类似的情况?或者能帮忙分析下问题可能出在哪,以及对应的解决办法?万分感谢!

内容的提问来源于stack exchange,提问作者Максим Выхрист

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 02:42:26