htmlpath 之外的 Nodejs 图像不起作用
Nodejs image outside htmlpath does not work
我正在使用 nodejs 在用户个人资料页面上工作,用户可以在登录后看到自己的头像。用户可以将文件上传到常规 htmlpath 之外的上传文件夹。我有以下文件夹结构:
- 布局
- node_modules
- public(所有静态文件)
- 架构
uploads(用户上传的文件)
eps
euro-pool-1501781922012.jpg
实用程序
- 观看次数
这些是 app.js 中 htmlpath 的设置:
app.use(require('serve-static')(path.join(__dirname, 'public')));
app.use(require('method-override')());
app.use(express.static('public'));
在客户端,我使用图像的相对路径:
<img src="../uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true">
我也试过
<img src="./uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true">
但是当我导航到该页面时它无法显示图像并且我得到以下错误:
GET http://192.168.2.20:3000/uploads/eps/euro-pool-1501781922012.jpg 404 (Not Found)
我有两个问题:
- 是否可以访问 htmlpath 之外的文件?
- 如何在不将整个文件夹移动到 public 文件夹的情况下解决此问题?
非常感谢,
埃里克
可以,如果您不想限制对该文件夹的访问,您可以设置两个不同的目录来提供静态文件:
app.use('/public', express.static(__dirname + '/public'));
app.use('/uploads', express.static(__dirname + '/uploads'));
在这种情况下,图像的路径应从 /uploads
:
开始
<img src="/uploads/eps/euro-pool-1501781922012.jpg" ...
我正在使用 nodejs 在用户个人资料页面上工作,用户可以在登录后看到自己的头像。用户可以将文件上传到常规 htmlpath 之外的上传文件夹。我有以下文件夹结构:
- 布局
- node_modules
- public(所有静态文件)
- 架构
uploads(用户上传的文件)
eps euro-pool-1501781922012.jpg
实用程序
- 观看次数
这些是 app.js 中 htmlpath 的设置:
app.use(require('serve-static')(path.join(__dirname, 'public')));
app.use(require('method-override')());
app.use(express.static('public'));
在客户端,我使用图像的相对路径:
<img src="../uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true">
我也试过
<img src="./uploads/eps/euro-pool-1501781922012.jpg" class="img-circle profile-avatar" alt="User avatar" data-pin-nopin="true">
但是当我导航到该页面时它无法显示图像并且我得到以下错误:
GET http://192.168.2.20:3000/uploads/eps/euro-pool-1501781922012.jpg 404 (Not Found)
我有两个问题:
- 是否可以访问 htmlpath 之外的文件?
- 如何在不将整个文件夹移动到 public 文件夹的情况下解决此问题?
非常感谢,
埃里克
可以,如果您不想限制对该文件夹的访问,您可以设置两个不同的目录来提供静态文件:
app.use('/public', express.static(__dirname + '/public'));
app.use('/uploads', express.static(__dirname + '/uploads'));
在这种情况下,图像的路径应从 /uploads
:
<img src="/uploads/eps/euro-pool-1501781922012.jpg" ...