繁体   English   中英

图像未显示在服务器上,但在节点 js 中的 localhost 上工作正常

[英]Images not showing up on server but working fine on localhost in node js

我正在开发一个节点 js 应用程序,我有一些想在前端显示的图像,但是在数字海洋服务器上发布应用程序后,图像没有显示

以下是图像目录的结构

|__ static
  |__ assets
    |__ favicon
    |__ images

索引.js

app.use(express.static(__dirname + '/static'));

HTML 文件(使用 EJS)

<img src="/assets/images/banner.png">

图像在本地主机上工作正常,但在服务器上却不行。 无法弄清楚原因,任何线索都会很棒。

更新:

我检查了文件夹权限,看起来不错。 找到了解决方法,但不确定导致此问题的原因,我删除了父目录资产并将子目录直接移动到 static 下,之后它工作得很好。

关于这个问题的任何解释都可能有助于理解。

你检查过文件夹权限吗? 这可能会阻止您公开访问文件夹中的文件。 您想拥有 755 权限。

我遇到了这个问题,这是因为我的nginx配置导致了问题。 当我查看服务器日志时,我看到服务器试图提供位于/usr/share/nginx/html/的文件,而不是它们实际所在的位置。 删除后,问题就消失了。

文件: static.conf

location ~* \.(?:jpg|jpeg|gif|png|ico)$ {
  expires 7d;
  access_log off;
  add_header Cache-Control "public";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM