не могу получить доступ к publi c файлам NODE JS - PullRequest
0 голосов
/ 23 марта 2020

Я, должно быть, сделал глупую ошибку, которую не могу выяснить, я не могу получить доступ к своим c файлам, вот мое приложение. js

const express = require('express');
const cors = require('cors');
const { router } = require('./routes/router');
// const mongoose = require('mongoose');
const { initializeDB } = require('./database/connection');
const bodyParser = require('body-parser');
const jwt = require("express-jwt");
const jwksRsa = require("jwks-rsa");
// Load environment variables from .env
const dotenv = require('dotenv');
dotenv.config();
const path = require('path');

const authConfig = {
  domain: process.env.AUTH0_DOMAIN,
  audience: process.env.ATUH0_API_AUDIENCE
};

const corsOptions = {
  origin : "*",
  methods: "GET,PUT,POST",
  allowedHeaders : "Origin, Accept, Content-Type, Authorization, X-Requested-With, Cache-Control",
  preflightContinue: false,
  optionsSuccessStatus: 200
}

const checkJwt = jwt({
  secret: jwksRsa.expressJwtSecret({
    cache: true,
    rateLimit: true,
    jwksRequestsPerMinute: 5,
    jwksUri: `https://${authConfig.domain}/.well-known/jwks.json`
  }),

  audience: authConfig.audience,
  issuer: `https://${authConfig.domain}/`,
  algorithm: ["RS256"]
});


const app = express();

app.use(cors(corsOptions));

console.log(express.static(__dirname + '/public'))
app.use("/public", express.static(__dirname + '/public'));

app.use(bodyParser.json({limit: '10mb'}));

app.use(bodyParser.urlencoded({
  extended: true,
  limit: '10mb'
}));
initializeDB();


app.use('/', checkJwt, router);

const port = process.env.PORT || 3500;
app.listen(port, () => console.log(`Example app listening on port ${port}!`));

Я продолжаю получать сообщение: Невозможно получить /public/a.jpeg или любой другой файл, который я пытаюсь получить, файл существует, пока у меня закончились идеи, любая помощь оценена, не знаю, что еще попробовать

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

использование path.resolve()

например:

app.use("/public", express.static(path.resolve(__dirname + '/public')));
0 голосов
/ 23 марта 2020

Пожалуйста, проверьте, что используемая учетная запись имеет права / разрешения для доступа к файлам или, во-вторых, правильный путь был настроен. это наиболее распространенные проблемы с невозможностью доступа к файлам из указанных c папок спасибо

...