簡體   English   中英

Multer 只為所有上傳的文件創建 1 個文件夾?

[英]Multer Create Only 1 folder for all uploaded files?

我有一個可以發送多個文件的表單,這些文件發送到服務器,但我希望它們都在 1 個文件夾中,但是當我使用此代碼時,文件夾與每個文件夾分開,但我想要例如,如果我上傳文件,它會自動創建一個文件夾並將所有上傳的文件保存在此文件夾中:

這是我的代碼:

const {v4} = require("uuid");
const multer = require('multer');
const fs = require("fs");

const storage = multer.diskStorage({

destination: function (req, file, cb) {
    const crid = v4;
    const filePath = "lessons/"+crid+"/";
    fs.mkdirSync(filePath , {recursive: true})
    cb(null, filePath)
},
filename: function (req, file, cb) {
    const filename = Date.now() + "-" + file.originalname;
    const rep = filename.replace(/\s/g, '')
    cb(null, rep)
},

 });

如果我上傳了超過 1 個文件,此代碼會出現問題,它會為每個文件創建一個文件夾

我發現了如何解決這個問題,這是我的代碼:

const date = Date.now();

const storage = multer.diskStorage({
destination: function (req, file, cb) {
    const nameFolder = date + "-" +req.body.name;
    const dirRep = nameFolder.replace(/\s/g, '');
    const folderPath = "lessons/"+dirRep+"/";
    fs.mkdirSync(folderPath, {recursive: true})
    cb(null, folderPath)
},
filename: function (req, file, cb) {
    const filename = Date.now() + "-" + file.originalname;
    const rep = filename.replace(/\s/g, '')
    cb(null, rep)
},

});

暫無
暫無

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

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