1

I want to upload image and video to s3 by using fields and save them to different path. However my code doesn't work and doesn't occur error.

const video_info = uploadVideo.fields([
    {
        name: 'video',
        maxCount: 1
    },
    {
        name: 'sumnail',
        maxCount: 2
    }
]);

router.post('/upload-video', isLoggedIn, video_info, async (req, res, next) => {
exports.uploadVideo = multer({
    s3: new AWS.S3(),
    bucket: `${process.env.AWS_S3_BUCKET}`,
    contentType: multerS3.AUTO_CONTENT_TYPE,
    acl: 'public-read',
    key: (req, file, done) => {
        const ext = path.extname(file.originalname);
        console.log(file);
        const path = file.fieldname === 'video' ?
                `upload/video/${path.basename(file.originalname, ext) + Date.now() + ext}` :
                `upload/sumnail/${path.basename(file.originalname, ext) + Date.now() + ext}`;
        done(null, path);
        // if(file.fieldname === 'video'){
        //     done(null, `upload/video/${path.basename(file.originalname, ext) + Date.now() + ext}`);
        // }
        // else if(file.fieldname == 'sumnail'){
        //     done(null, `upload/sumnail/${path.basename(file.originalname, ext) + Date.now() + ext}`);
        // }
    } 
});
skull Kim
  • 597
  • 1
  • 4
  • 5

0 Answers0