显示带有哈巴狗/翡翠和Node.js的图像



我想在导航栏中显示已登录用户的头像,但每次我收到带有 URL 的错误 404: http://localhost:3000/uploads/avatars/avatar_test3.jpeg我的哈巴狗代码是:

ul.nav.navbar-nav.navbar-right
        if user
          li
            a(href='/photos/add') Add photo
          li
            a(href='/users/edit')
              img(src=user.avatar)
          li
            a(href='/users/logout') Logout

user.avatar给了我:uploads/avatars/avatar_test3.jpeg我也尝试过:

  • img(src='../' + user.avatar)
  • img(src='./' + user.avatar)
  • img(src='/' + user.avatar)

每次都出现相同的错误

目录层次结构:

/
 -uploads
    -avatars
       -avatar_test3.jpeg
  -views
    -layout/pug //the template I'm using 

我也尝试将avatar_test3.jpeg文件直接移动到视图目录,但没有任何成功。

我该如何解决?

你得到哪个错误?如果是 http 404,您应该通过 express: http://expressjs.com/en/starter/static-files.html 将上传文件夹设为公共

像这样:

app.use('/uploads', express.static('uploads'))

最新更新