簡體   English   中英

調用post方法后如何更改通過multer上傳的文件的名稱

[英]How to change name of file uploaded with multer after calling post method

我想使用帶有唯一名稱的multer保存圖片。 文件名的模式為file.orginalName + req.body.userName

我的代碼:

const express = require('express');
const router = express.Router();
const multer  = require('multer');
const bcrypt  = require('bcrypt');
const passport = require('passport');

let User = require('../models/user');

const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads/avatars/')
  },
  filename: function (req, file, cb) {
    cb(null, file.originalname)
  }
});

const upload = multer({ storage: storage })


router.post('/register', upload.single('avatar'), (req, res) => {

  ////here I want to change the uploaded avatar name then save to DB
});

module.exports = router;

如何更改代碼以在post方法中重命名圖片名稱?

const storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, 'uploads/avatars/')
    },
    filename: function (req, file, cb) {
        //console.log(req.body)
        cb(null, file.originalname)
    }
});

const upload = multer({ storage: storage })

router.post('/register', (req, res) => {
    upload(req, res, function(err) {
        if(err) {
            //stuff when error while file uploading
        } else {
            //file uploaded
        }
    })
});

暫無
暫無

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

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