首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用NodeJS服务器和角阵获取图像?

如何使用NodeJS服务器和角阵获取图像?
EN

Stack Overflow用户
提问于 2021-03-15 16:34:46
回答 3查看 679关注 0票数 0

我有个问题..。当我试图获取保存在服务器上的图像以便在前端查看时,路由将失败。

当我注册一个用户时,我使用Multer将用户映像保存在服务器中,并将服务器映像路径保存在数据库的用户信息中。

从前端,当我得到一个数据库用户,我试图显示他们的个人资料照片,但我得到的文件夹不存在。

等级制度如下:

  • image.jpg

  • Project
    • 后端(NojdeJS)
      • imgs

代码语言:javascript
运行
复制
- frontend (Angular) 
    - _Angular project_

我想从前端访问后端文件夹,但是我得到了以下错误:

代码语言:javascript
运行
复制
GET http://localhost:4200/backend/users_imgs/image.jpg 404 (Not Found)

现在,我用这种方式来称呼这个图像:

代码语言:javascript
运行
复制
<img src="../../../../../../backend/users_imgs/image.jpg" alt="">

编辑

在@Ashish Yogi推荐之后,我做了以下几点:

我背上有这个:

app.js

我把这个放在前面:

尽管这里的路径是这样的,但真正的路线是使用users_imgs

正如您在下一张图片中所看到的,我的服务器端口是"4000":

EN

回答 3

Stack Overflow用户

发布于 2021-03-15 17:12:16

您的图像存在于服务器文件夹中,您正在尝试从角URL获取它。这就是为什么它是不可及的。

您需要允许从访问您的映像。

首先,将imges文件夹移动到公用文件夹。

节点结构将如下所示:

代码语言:javascript
运行
复制
BackEnd (Node)
public
imges
image.jpg

您可以通过以下代码允许使用公用文件夹:

代码语言:javascript
运行
复制
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访问图像了。

票数 0
EN

Stack Overflow用户

发布于 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'));

票数 0
EN

Stack Overflow用户

发布于 2021-03-16 08:01:15

你应该使用:

代码语言:javascript
运行
复制
app.use(express.static(path.join(__dirname, '../public')));

注意:../public而不是public

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66641982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档