express .stati c () не будет работать для получения изображений - PullRequest
0 голосов
/ 29 марта 2020

Я новичок в программировании, извините, если вопрос глупый. Я не смог найти ничего, что могло бы помочь мне в сети.

На Angular у меня есть URL-адрес изображения для загрузки со стороны сервера. Если URL-адрес

http://localhost:3000/h.jpg

и у меня есть

app.use(express.static('backend/adImages'));

, все работает нормально. Если я изменю путь на

http://localhost:3000/adImages/e.jpg

и код

app.use('/adImages', express.static('backend/adImages'));

, я не смогу визуализировать изображение.

Мой путь будет

C:\Users\PupoZz\Desktop\mean\personal\eTrex\backend\adImages

это мой путь. Файл сервера. js находится в папке eTrex

другое дело. Если я запускаю сервер, чтобы показать базу данных. Я могу щелкнуть ссылку и открыть изображение:

_id "5e80643f1bf2d90d685e3e66"
title   "e"
description "e"
location    "e"
postedBy    "null"
image   "http://localhost:3000/adImages/e.jpg"
__v 0

на моем инспекторе. Я вижу

"<img _ngcontent-vlp-c2=\"\" class=\"card-img-top\" src=\"http://localhost:3000/adimages/e.jpg\" style=\"display: none !important;\">"

Любая идея?

спасибо Марко

Ответы [ 3 ]

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

попробуйте это:

app.use(express.static('backend'));

И что более важно, не забудьте перезапустить ваш node.js сервер после свершившегося факта.

Удачного кодирования!

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

спасибо вам, ребята, я проверил правильное место. Кажется, что firefox заблокировал изображение, потому что оно было в папке adimages. Я просто изменил имя папки на «images»!

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

попробуйте это:

const path = require('path');
//
app.use(express.static(path.join(__dirname, 'backend', 'adImages'); 

, если файл находится в папке бэкэнда, исключите бэкэнд

const path = require('path');
//
app.use(express.static(path.join(__dirname, 'adImages'); 

1)

-server.js
-/backend
---/adImages

2)

-/backend
---server.js
---/adImages
...