我正在从fs readStream
(从graphql上传文件)中读取数据,并通过SharpJS转换功能对其进行管道传输,并通过writeStream
将其进行管道传输以写入文件。
在我的系统(Windows)中,它工作正常,但是在我的主机(Linux)中,它创建了一个500mb大小的核心转储文件,并且它创建的图像大小为0 kb。
const transform = (dimen) => sharp().resize(dimen, dimen)
const fs512 = fs.createWriteStream(addSuffix(filePath))
const fs256 = fs.createWriteStream(addSuffix(filePath))
const fs128 = fs.createWriteStream(addSuffix(filePath))
await stream.pipe(transform(512)).pipe(fs512)
await stream.pipe(transform(256)).pipe(fs256)
await stream.pipe(transform(128)).pipe(fs128)
我尝试监听finish
事件并关闭它们,但是没有用。
我认为问题是因为SharpJS 引起的,如果我删除了第一个管道,它将起作用(无需调整大小)。