簡體   English   中英

如何在多個文件夾中上傳相同的圖像 Nodejs multer

[英]How To Upload Same image in multiple folders Nodejs multer

如何在不同的文件夾中同時上傳相同的圖像? 我在下面嘗試過但沒有工作但是當在一個文件夾中上傳時它會起作用。

var multer  = require('multer');

const storage = multer.diskStorage({

    destination: (req, file, cb) => {

        cb(null, 'public/images/image')

        cb(null, 'public/images/pic')
    },

    filename: (req, file, cb) => {

        const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9)

        cb(null, file.fieldname + '-' + uniqueSuffix+'.png')

    }

});

const cpUpload = multer({ storage: storage });

在前端:

<input type = "file" name="image" />

<button>Upload</button>

如何同時上傳不同文件夾中的相同圖像? 我在下面嘗試過,但是沒有用,但是當在一個文件夾中上載時它將起作用。

var multer  = require('multer');

const storage = multer.diskStorage({

    destination: (req, file, cb) => {

        cb(null, 'public/images/image')

        cb(null, 'public/images/pic')
    },

    filename: (req, file, cb) => {

        const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9)

        cb(null, file.fieldname + '-' + uniqueSuffix+'.png')

    }

});

const cpUpload = multer({ storage: storage });

在前端:

<input type = "file" name="image" />

<button>Upload</button>

對於相同的要求,下面的 nodejs 代碼對我有用。

  pool.query('SELECT first_name FROM users where user_pk = 1', (err,rows) => {
      if(err) throw err;
        rows.forEach( (row) => {
        //console.log(`${row.first_name}`);
        var fname = (`${row.first_name}`);
        console.log('First Name is : ' + fname);
        //let fname = req.first_name;
    
    
    var dateObj = new Date();
    //var month = dateObj.getUTCMonth() + 1; //months from 1-12
    var year = dateObj.getUTCFullYear();
    var month = dateObj.toLocaleString('default', { month: 'long' });
    var day = dateObj.getUTCDate();
    
    
    datewise = "datewise" + "/" + year + "/" + month + "/" + day + "/" + fname;
    empwise  = "empwise"  + "/" + fname + "/" + year + "/" + month + "/" + day;
    
        });`enter code here`
      });  
      
    var storage = multer.diskStorage({
      destination: function (req, file, cb) {
        let Id = req.body.id;
        let datewisepath = `/RestAPIUpload/${datewise}`;
        let empwisepath = `/RestAPIUpload/${empwise}`;
            fs.mkdirsSync(datewisepath);
            fs.mkdirsSync(empwisepath);     
        cb(null, datewisepath);
        cb(null, empwisepath);
        // callback(null, 'uploads/' + req.user.id);
      },
     /* filename: function (req, file, callback) {
        callback(null, file.originalname + '-' + Date.now());
      }
    });
    */
    
    filename: function (req, file, cb) {
        // console.log(file);
        let extArray = file.mimetype.split("/");
        let extension = extArray[extArray.length - 1];
        cb(null, file.originalname + '-' + Date.now() + "." + extension);
        console.log(req.file);
     }
    })
    var upload = multer({ storage : storage }).array('dataFile',50);
    
    app.post('/upload',function(req,res){
        upload(req,res,function(err) {
            console.log(req.body);
            console.log(req.files);
            if(err) {
                return res.end("Error uploading file.");
            }
            res.end("File is uploaded");
        });
    }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM