NodeJS Angular 2+如何在Angular 构建后获得动态添加的图像

gcuhipw9  于 2023-02-08  发布在  Node.js
关注(0)|答案(1)|浏览(114)

我正在开发一个应用程序,使用Angular 5作为前端,Node.js作为后端上传图像到服务器,问题是上传图像到服务器后,我无法显示它的Angular 。
我的文件夹结构是这样的:
应用程序名称/客户端/src/应用程序/应用程序组件. html〈-在这里我想显示图像;AppName/server/public/images〈-是存储映像的位置
有人知道吗?

qco9c6ql

qco9c6ql1#

您必须配置您的服务器,以便在需要时提供正确的图像。问题不在于Angular 。
如果您使用的是 * express *,则可以在提供Web应用之前添加以下规则

app.use(express.static('server/public/images'));

使用相对路径修复上面的代码。
这样,当你的网络服务器收到一个请求时,他会首先查看它是否是你文件夹中的一个图像,否则它将服务于Angular。

备注

这样,如果您尝试访问一个不存在的图像,您将收到一个text/HTML结果,其中您的网页作为内容,200作为状态代码。
您可能需要检查文件的扩展名,如果它是jpgjpegpnggif您在文件夹中搜索,如果图像存在,您发送它作为响应,如果它不存在,您发送404状态代码。
如果扩展名不是上述扩展名之一,则您在任何情况下都可以提供webapp。

app.use(express.static('server/public/images'));
app.get(/\.(jpg|jpeg|png|gif)$/, function(req, res) {
  res.status(404).send('Not found');
});

相关问题