首页 > 解决方案 > Multer 不在本地文件夹中保存图像

问题描述

Multer 无法存储目标所在的文件public/my-uploads

  const express = require('express');
        const app = express();
        const multer = require('multer');
            let storage = multer.diskStorage({
                destination: '/public/my-uploads',
                  filename: function (req, file, cb) {
                    cb(null, file.fieldname + '-' + Date.now())
                  }
           });

  const upload = multer({dest:'storage/'}).single('file');

app.post('/upload', upload, (req , res) => {
      console.log(req.files) // this does log the uploaded image data.
    })

标签: node.jsexpressejsmulter

解决方案


试试这个文件存储在本地保存图像

const fileStorage = multer.diskStorage({
      destination: (req, file, cb) => {
        cb(null, "images");
      },
      filename: (req, file, cb) => {
        cb(
          null,
          new Date().toISOString().replace(/:/g, "-") + "-" + file.originalname
        );
      },
    });

发生这种情况是因为您使用的是 windowsOS 并且您了解到它可能在 windows 中使用 macOS 路径必须按照上述代码中的说明进行设置。

您只需按照我的答案设置文件名,目标是 root dir "./images"...


推荐阅读