获取NodeJS中上传的图片url

2022-06-18 00:00:00 node.js javascript multer

我正在使用NodeJS Multer将图片文件上传到图片上传目录。上传后,如何在客户端浏览器的html img标签中显示此特定图片。URL是什么?

当我键入http://localhost:3000/uploads/1591342432.jpeg,时,它显示无法获取文件。

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "./uploads/");
  },
  filename: function (req, file, cb) {
    cb(null, Date.now() + ".jpeg");
  },
});

const upload = multer({ storage: storage });

router.post("/upload", upload.single("file"), async (req, res) => {
  try {
    console.log("uploading...");
    console.log(req.file.filename);
    res.json({ cool: "yes" });
    // res.json({ file: req.file });
  } catch (error) {
    console.log(error);
  }
});

解决方案

我想我需要设置一个静态目录:

app.use(express.static("uploads"));

然后我可以通过以下方式访问图像文件:

http://localhost:3000/1599134489853.jpeg

相关文章