【问题标题】:Node + Express how to access to upload folderNode + Express 如何访问上传文件夹
【发布时间】:2020-08-19 05:30:42
【问题描述】:

我使用multer 在我的API 中构建了一个upload,它运行良好。 我正在尝试从Gatsby 访问上传的文件,但它不起作用

router.use("/public", express.static(__dirname + "/public")); 

文件在/public/uploads:

http://localhost:5000/public/uploads/364935-2020-08-18.jpg

但我无法访问它们。

我尝试了不同的语法:

router.use("/public", express.static(__dirname + "/public"));

router.use(express.static(__dirname + "/public"));

router.use(express.static("public"));

没有人工作

有什么想法吗?

谢谢

【问题讨论】:

  • 尝试不使用public,例如http://localhost:5000/uploads/364935-2020-08-18.jpg。如果您需要静态文件夹/公用文件夹中的某些内容,通常不需要在其前面写 staticpublic
  • 谢谢,但我尝试了任何组合都不起作用
  • 您是否尝试删除router.use("/public" 处的public
  • 谢谢,但不是。我也试过了
  • 当你使用这个 ==> app.use(express.static("public")); 访问应该是http://localhost:5000/uploads/364935-2020-08-18.jpg 或者如果你使用这个 ==> app.use("/public", express.static(__dirname + "/public")); 然后通过http://localhost:5000/public/uploads/364935-2020-08-18.jpg访问它。

标签: node.js express


【解决方案1】:

试用Node内置的path模块:

const express = require("express");
const path = require("path");

const app = express();

app.use(express.static(path.join(__dirname, "public")));

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 2019-09-11
    • 2017-03-01
    • 2021-04-15
    • 2015-10-14
    • 2015-03-10
    • 1970-01-01
    • 2021-07-24
    相关资源
    最近更新 更多