首页 > 解决方案 > 我需要在通过 multer 上传时添加具有画廊名称的用户的用户 ID

问题描述

通过 multer 上传图库时,我需要在图库名称中添加用户的 user_id。

exports.saveNewUploadedItemInGallery =async (req, res) => {

    try {
        const galleryType = req.params.galleryType;
        const type=req.params.type;
        if(galleryType=='photos'){
        debug(req.files);
        const mediaNameArray = req.files.map(file=>{
            return file.filename;
        });
            mediaNameArray.forEach(function(part, index) {
                this[index] = {name : part, userId: req.user._id,galleryType:galleryType,type:type,allowComments:req.body.displayComment};
              }, mediaNameArray);
        let private=await Gallery.create(mediaNameArray).then(result=>{
            res.status(200).json({
                        status: 200,
                        error: false,
                        data: {
                            fileNames: mediaNameArray,
                            place: type 
                         }
                    });
        }).catch(err=>{
            res.status(500).json({
                        status:500,
                        error: true,
                        errors:{msg: 'Something went wrong. Our bad.'},
                        data:null
                    });  
        })
    }else{
        debug(req.files);
        const mediaNameArray = req.files.map(file=>{

            return file.filename;

        });
            // mediaNameArray.forEach(function(part, index) {
            //     this[index] = {name : part, userId: req.user._id,galleryType:galleryType,type:type};
            //   }, mediaNameArray);

        mediaNameArray1={name: mediaNameArray[0], userId: req.user._id, galleryType:galleryType, type:type, thumbnail:mediaNameArray[1],allowComments:req.body.allowComments}
        let private=await Gallery.create(mediaNameArray1).then(result=>{
            res.status(200).json({
                        status: 200,
                        error: false,
                        data: {
                            fileNames: mediaNameArray1,
                            place: type 
                         }
                    });
        }).catch(err=>{
            res.status(500).json({
                        status:500,
                        error: true,
                        errors:{msg: 'Something went wrong. Our bad.'},
                        data:null
                    });  
        })
    }


      } catch (err) {
          console.log(err);
          res.status(500).json({
            status:500,
            error: true,
            errors:{msg: 'Something went wrong. Our bad.'},
            data:null
        });  

      }
};

现在文件名/图库名称被存储为 WIN_20190203_11_52_22_Pro8908994_1559494709908.jpg 但我应该是“用户的用户 ID + WIN_20190203_11_52_22_Pro8908994_1559494709908.jpg”

标签: javascriptnode.jsmongodb

解决方案


推荐阅读