Я хочу передать запрос на загрузку файла в multipart / form-data на другой сервер и одновременно изменить имя некоторых полей.
Я не хочу временно хранить файл на диске и не могуНе хочу хранить файл полностью в памяти.
Я пытался использовать multer, busboy и multiparty.Я думаю, что стал ближе, используя пользовательские потоки Transform, но это пока не работает.
const express = require('express');
const request = require('request');
const { Transform } = require('stream');
const router = express.Router();
class TransformStream extends Transform {
_transform(chunk, encoding, callback) {
// here I tried to manipulate the chunk
this.push(chunk);
callback();
}
_flush(callback) {
callback();
}
}
router.post('/', function pipeFile(req, res) {
const transformStream = new TransformStream();
req.pipe(transformStream).pipe(request.post('http://somewhere.com'));
res.sendStatus(204);
});
Я пытался манипулировать кусками в _transform
без успеха (EPIPE).Звучит довольно странно, есть ли лучшие решения?