Я читаю из fs readStream
(из файла загрузки в GraphQL) и передаю его через функцию преобразования SharpJS, а через writeStream
передаю его для записи в файл.В моей системе (windows) он работает просто отлично, но на моем хосте (linux) он создает файл дампа основной памяти размером 500 МБ, а образы, которые он создает, имеют размер 0 КБ.
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 , если я удаляю первый канал, он работает (без изменения размера).