Почему не работает? Я пытаюсь установить собственный путь загрузки для multer каждый раз, когда я загружаю что-то. когда я делаю запрос в первый раз. это дает ошибку. но это создает путь к файлу. Но это дает ошибку. но когда я делаю тот же пост запрос снова. он успешно загружен.
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const multer = require('multer');
const fs = require('fs');
const router = express.Router();
const Topic = require('../models/Topic');
app.use(bodyParser.json());
router.post("/file/:topicname/:stepname", async (req, res) => {
const filePath = './uploads/' + req.params.topicname + "/" + req.params.stepname;
console.log(filePath)
await fs.mkdir(filePath, { recursive: true }, (err) => {
if (err)
throw err;
})
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, filePath);
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
const upload = multer({ storage: storage }).single("demo_image");
await upload(req, res, (err) => {
if (err) {
res.status(400).send("Something went wrong!");
console.log(err)
}
res.send(req.file);
});
});
Я хочу, чтобы он сначала создал каталог, а затем загрузил файл.