#node.js #express
#node.js #экспресс
Вопрос:
Я встроил upload
в свое API
использование multer
, которое работает отлично. Я пытаюсь получить доступ к загруженным файлам из Gatsby
, но это не работает
router.use("/public", express.static(__dirname "/public"));
Файлы находятся в /public/uploads
:
http://localhost:5000/public/uploads/364935-2020-08-18.jpg
но я не могу получить к ним доступ.
Я пробовал разные sintaxs:
router.use("/public", express.static(__dirname "/public"));
router.use(express.static(__dirname "/public"));
router.use(express.static("public"));
никто не работал
Есть идеи?
Спасибо
Комментарии:
1. попробуйте без
public
лайкаhttp://localhost:5000/uploads/364935-2020-08-18.jpg
. Если вам нужно что-то из статической папки / общедоступной папки, вам обычно не нужно писатьstatic
илиpublic
перед этим2. спасибо, но я пробовал любую комбинацию, и она не работает
3. вы пытались удалить
public
наrouter.use("/public"
4. спасибо, но нет. Я также пробовал это
5. Когда вы используете это ==>
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
.
Ответ №1:
Пытаюсь использовать встроенный path
модуль узла:
const express = require("express");
const path = require("path");
const app = express();
app.use(express.static(path.join(__dirname, "public")));