Как создать ReadStream из memoryStorage с помощью multer - PullRequest
0 голосов
/ 29 января 2019

Я загружаю файл в свой API, используя multer:

const multer = Multer({
    storage: Multer.memoryStorage(),
    limits: {
      fileSize: 5 * 1024 * 1024 // no larger than 5mb, you can change as needed.
    }
})

Файл появляется в const file = req.files["my_file_name"][0]

Теперь я хочу создать readStream для этого следующим образом:

fs.createReadStream(file.path).pipe(stream);

Проблема в том, что file.path не определено, когда я использую memoryStorage() с multer.Как я могу сделать эту работу с memoryStorage?

1 Ответ

0 голосов
/ 29 января 2019

При использовании memoryStorage вы не получите file.path, ваш файл будет в буфере по вашему запросу.

req.file будет иметь информацию { fieldname, originalname, encoding, mimetype, buffer }

Выходной поток на консоли

const streamifier = require('streamifier');
streamifier.createReadStream(req.file.buffer).pipe(process.stdout);

Чтение и запись потока в виде файла

const streamifier = require('streamifier');
var writeStream = fs.createWriteStream('./uploads/test.png');
streamifier.createReadStream(req.file.buffer).pipe(writeStream);

Ссылка: Информация о файле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...