【问题标题】:GET http://127.0.0.1:8000/storage/profiles/ 404 (Not Found)获取 http://127.0.0.1:8000/storage/profiles/ 404(未找到)
【发布时间】:2019-08-14 05:21:00
【问题描述】:

我正在使用 vuejs 和 laravel 作为后端,并且我有一个将用户头像图片存储在存储中的表单,我正在尝试在使用 vuejs 的用户的个人资料页面中的前端显示图像,并且我能够显示头像图片用户在前端,但在控制台中我收到GET http://127.0.0.1:8000/storage/profiles/ 404 (Not Found) 错误,尽管它在前端显示头像图片。

我在前端部分显示用户头像图片是:

<img class="img-circle" :src="getProfilePhoto()" alt="User Avatar">

getProfilePhoto(){
    let photo = this.form.photo.indexOf('base64') != -1 ? this.form.photo : 'storage/profiles/'+this.form.photo;
    return photo;
}

【问题讨论】:

  • 您的 HTTP 服务器是否已启动并运行?这条路线是否正确且已定义?
  • 你能发布这条路线的路线文件吗?

标签: javascript php html laravel vue.js


【解决方案1】:

在某些时候this.form.photo 是一个空字符串。浏览器向 URL 发出请求,得到 404 错误,并呈现丢失的图像。

然后this.form.photo 的值发生变化,触发重新渲染,再次运行函数,将src 更改为新值并渲染实际图像。

您需要考虑this.form.photo 未设置的可能性。

例如,您可以:

getProfilePhoto(){
    let photo = "/static/default-profile.png";
    if (this.form.photo) {
        if (this.form.photo.indexOf('base64') != -1) {
            photo = this.form.photo;
        } else {
            photo = 'storage/profiles/' + this.form.photo;
        }
    }
    return photo;
}

【讨论】:

  • 非常感谢它解决了我的问题,我用一些静态图片初始化照片,它解决了我的问题。我希望这个答案将来对某人有所帮助:-)
猜你喜欢
  • 2021-06-19
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
相关资源
最近更新 更多