Как я могу загрузить видео из буфера с помощью Multer? Узел, Express - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь загрузить одно видео и три фотографии

const multerStorage = multer.memoryStorage();

const upload = etc.

exports.uploadImage = upload.fields([
     { name: 'video', maxCount: 1 }
    ,{ name: 'imagePreview', maxCount: 1 }
    ,{ name: 'imagePoster', maxCount: 2 }]);

После изменения размера изображения сохраняются с помощью резкого и все отлично работает.

const { video, imagePreview, imagePoster } = { ...req.files };

if (imagePreview) {
    imagePreview[0].fieldname = `imagePreview-${Date.now()}.jpeg`;
    sharp(imagePreview[0].buffer)
        .resize(160, 160)
        .toFormat('jpeg')
        .jpeg({ quality: 90 })
        .toFile(`public/img/imagePreview/${imagePreview[0].fieldname}`);
};

if (imagePoster) {..... etc.

Как я могу сохранить видео из буфера? Я пробовал с Sharp, но он выделенный текст не работал.

if (video) {
    video[0].fieldname = `video-${Date.now()}.mp4`;
    sharp(video[0].buffer)
        .toFile(`public/img/video/${video[0].fieldname}`);
};
...