我正在开发一个应用程序,使用Angular 5作为前端,Node.js作为后端上传图像到服务器,问题是上传图像到服务器后,我无法显示它的Angular 。我的文件夹结构是这样的:应用程序名称/客户端/src/应用程序/应用程序组件. html〈-在这里我想显示图像;AppName/server/public/images〈-是存储映像的位置有人知道吗?
qco9c6ql1#
您必须配置您的服务器,以便在需要时提供正确的图像。问题不在于Angular 。如果您使用的是 * express *,则可以在提供Web应用之前添加以下规则:
app.use(express.static('server/public/images'));
使用相对路径修复上面的代码。这样,当你的网络服务器收到一个请求时,他会首先查看它是否是你文件夹中的一个图像,否则它将服务于Angular。
这样,如果您尝试访问一个不存在的图像,您将收到一个text/HTML结果,其中您的网页作为内容,200作为状态代码。您可能需要检查文件的扩展名,如果它是jpg,jpeg,png或gif您在文件夹中搜索,如果图像存在,您发送它作为响应,如果它不存在,您发送404状态代码。如果扩展名不是上述扩展名之一,则您在任何情况下都可以提供webapp。
text/HTML
200
jpg
jpeg
png
gif
404
app.use(express.static('server/public/images')); app.get(/\.(jpg|jpeg|png|gif)$/, function(req, res) { res.status(404).send('Not found'); });
1条答案
按热度按时间qco9c6ql1#
您必须配置您的服务器,以便在需要时提供正确的图像。问题不在于Angular 。
如果您使用的是 * express *,则可以在提供Web应用之前添加以下规则:
使用相对路径修复上面的代码。
这样,当你的网络服务器收到一个请求时,他会首先查看它是否是你文件夹中的一个图像,否则它将服务于Angular。
备注
这样,如果您尝试访问一个不存在的图像,您将收到一个
text/HTML
结果,其中您的网页作为内容,200
作为状态代码。您可能需要检查文件的扩展名,如果它是
jpg
,jpeg
,png
或gif
您在文件夹中搜索,如果图像存在,您发送它作为响应,如果它不存在,您发送404
状态代码。如果扩展名不是上述扩展名之一,则您在任何情况下都可以提供webapp。