我正在使用nodejs在用户个人资料页面上工作,用户可以在登录后看到自己的头像。用户可以将文件上传到常规 htmlpath 之外的uploads文件夹。我有以下文件夹结构:
上传(用户上传的文件)
eps
euro-pool-1501781922012.jpg
util的
这些是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)
我有两个问题:
非常感谢,
埃里克
答案 0 :(得分:1)
是的,如果您不想限制对此文件夹的访问,可以设置两个不同的目录来提供静态文件:
app.use('/public', express.static(__dirname + '/public'));
app.use('/uploads', express.static(__dirname + '/uploads'));
在这种情况下,图片的路径应从/uploads
开始:
<img src="/uploads/eps/euro-pool-1501781922012.jpg" ...