express.static() 无法获取图像

express.static() won't work to fetch images

我是编程新手,如果问题很愚蠢,请见谅。我在网上找不到任何帮助我的东西。

在 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

是我的路。 server.js 文件位于 eTrex 文件夹中

另一件事。如果我运行服务器显示数据库。我可以单击 link 并打开图像:

_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;\">"

有什么想法吗?

谢谢 马可

试试这个:

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

试试这个:

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

更重要的是不要忘记在事后重新启动您的 node.js 服务器。

编码愉快!

多亏了你们,我找对地方了。似乎 firefox 阻止了图像,因为它位于 adimages 文件夹中。 我刚刚将文件夹名称更改为 "images"!