亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用對象值創建文件夾

使用對象值創建文件夾

瀟瀟雨雨 2021-12-12 18:17:25
我正在學習 Nodejs,并且正在嘗試為每個新用戶創建文件夾。該文件夾將鏈接到用戶名(單擊它時將打開文件夾/ftp)我正在使用 Admin-bro 界面。這是用戶對象。const { model } = require("mongoose");const User = model("User", {  name: String,  surname: String,  age: Number,  email: String,  description: String});module.exports = User;用戶路由器:const { Router } = require('express')const paginate = require('../services/paginate.service')const User = require('../models/user.model')const dir = require('../routers/ftp')const router = new Router()const serializer = (user) => {  return user.toObject({ versionKey: false })}router.get('/', async (req, res) => {  const users = await paginate(User.find({}), req)  res.send(users.map(serializer))})router.post('/', async (req, res) => {  const user = await new User(req.body.user).save()  res.send(serializer(user))})module.exports = router我不知道如何為我添加的每個新用戶創建一個文件夾,將 name_surname 作為文件夾名稱。我試圖創建一個路由器但失敗了。這是我嘗試過的:"use strict";module.exports = function(app) {  const fs = require("fs");  const path = require("path");  const multer = require("multer");  const storage = multer.diskStorage({    desctination: function(req, file, cb) {      const uploadDir = path.join(__dirname, "..", "..", `${Date.now()}`);      fs.mkdirSync(uploadDir);      cb(null, uploadDir);    },    filename: function(req, file, cb) {      cb(null, file.originalname);    }  });  const upload = multer({ storage });  const controller = require("../routers/createDir");};PS:沒有控制器,因為我不知道該怎么做。請給我一個建議或鏈接,我可以在其中了解它是如何完成的。謝謝
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

我愿意將用戶名或 id 傳遞給文件夾并動態創建它,而不是手動創建。像這樣


const multer = require("multer");

const storage = multer.diskStorage({

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

    const { userId } = req.body;

    const dir = `../uploads/${userId}`;

    fs.exists(dir, exist => {

      if (!exist) {

        return fs.mkdir(dir, error => cb(error, dir));

      }

      return cb(null, dir);

    });

  },

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

    const { userId } = req.body;

    cb(null, `UserId-${userId}-Image-${Date.now()}.png`);

  }

});


const upload = multer({ storage });


查看完整回答
反對 回復 2021-12-12
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

用戶mkdrp節點模塊包


var mkdirp = require('mkdirp');


mkdirp('/tmp/foo/bar/baz', function (err) {

  if (err) console.error(err)

  else console.log('pow!')

});


查看完整回答
反對 回復 2021-12-12
  • 2 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號