我有个问题..。当我试图获取保存在服务器上的图像以便在前端查看时,路由将失败。
当我注册一个用户时,我使用Multer将用户映像保存在服务器中,并将服务器映像路径保存在数据库的用户信息中。
从前端,当我得到一个数据库用户,我试图显示他们的个人资料照片,但我得到的文件夹不存在。
等级制度如下:
- frontend (Angular)
- _Angular project_我想从前端访问后端文件夹,但是我得到了以下错误:
GET http://localhost:4200/backend/users_imgs/image.jpg 404 (Not Found)现在,我用这种方式来称呼这个图像:
<img src="../../../../../../backend/users_imgs/image.jpg" alt="">编辑
在@Ashish Yogi推荐之后,我做了以下几点:
我背上有这个:

app.js

我把这个放在前面:

尽管这里的路径是这样的,但真正的路线是使用users_imgs
正如您在下一张图片中所看到的,我的服务器端口是"4000":

发布于 2021-03-15 17:12:16
您的图像存在于服务器文件夹中,您正在尝试从角URL获取它。这就是为什么它是不可及的。
您需要允许从访问您的映像。
首先,将imges文件夹移动到公用文件夹。
节点结构将如下所示:
BackEnd (Node)
public
imges
image.jpg您可以通过以下代码允许使用公用文件夹:
var express = require('express');
var path = require('path');
var app = express();
//serve public files
app.use(express.static(path.join(__dirname, 'public')));现在您可以使用http://localhost:SERVER_PORT/imges/image.jpg访问图像了。
发布于 2021-03-16 07:48:07
在使用以下行时出错:

我想访问公用文件夹,但是当我的公用文件夹位于public /user_imgs时,路径是src/ public /user_imgs。我用过这个:
app.use(express.static('public'))
我也试过了,但是它不起作用,也不知道为什么:
app.use('/users_imgs', express.static('public'))
在src中设置公用文件夹。
app.use('/users_imgs', express.static(__dirname + '/public'));
发布于 2021-03-16 08:01:15
你应该使用:
app.use(express.static(path.join(__dirname, '../public')));注意:../public而不是public
https://stackoverflow.com/questions/66641982
复制相似问题