【问题标题】:403 Forbidden when loading images from public/image folder laravel vuejs xampp403 从公共/图像文件夹 laravel vuejs xampp 加载图像时禁止
【发布时间】:2020-03-02 12:49:56
【问题描述】:

在我的个人资料中,图像完美显示,但我在控制台中收到以下错误。如果我尝试从公用文件夹访问图像,它不会向我显示错误,但如果我尝试从作为子文件夹的图像文件夹访问它,则会显示错误。自从我搜索 4 天以来,任何人都可以帮助我解决这个问题解决方案,但我没有找到任何解决方案,但他会那么好。

禁止访问!您无权访问请求的 目录。没有索引文档或目录是 读保护。

如果您认为这是服务器错误,请联系网站管理员。

错误 403 admin-cms.me Apache/2.4.39 (Win64) OpenSSL/1.0.2s PHP/7.1.31

我的 API 代码是:

Route::get('profile','API\UserController@profile');

我的控制器代码是:

 public function profile()
    {
        //
        return auth('api')->user();
    }

我的数据和方法代码是:

  data() {
    return {
      users: {},
      form: new Form({
        id: "",
        name: "",
        email: "",
        password: "",
        type: "",
        bio: "",
        photo: ""
      })
    };
  },

methods: {
    getProfilePhoto() {
      return "image/" + this.form.photo;
    }

我在 profile.vue 中的 HTML 代码是:

<div class="widget-user-image">
            <img class="img-circle" :src="getProfilePhoto()" alt="User Avatar" />
          </div>

【问题讨论】:

    标签: mysql laravel vue.js xampp


    【解决方案1】:

    您确定this.form.photo 在调用getProfilePhoto() 时有一个值吗?

    错误信息:

    没有索引文档或目录被读保护

    让我觉得getProfilePhoto() 正在返回'image/' + '',这导致图像目录试图被索引。

    一种选择是仅在this.form.photo 具有值时显示个人资料照片,使用v-if

    <div class="widget-user-image">
        <img class="img-circle" v-if="form.photo" :src="getProfilePhoto()" alt="User Avatar" />
    </div>
    

    【讨论】:

    • 是的,因为在页面加载时我正在填写表单,并且在加载时显示图片但仍然出现错误
    • Brice 先生,您能告诉我应该怎么做或怎么做吗
    • 我已经编辑了我的答案以显示一个可能的前进方向:隐藏个人资料照片,直到 this.form.photo 具有价值。
    【解决方案2】:

    可能是权限问题,您是否有权访问您的公共目录,如果可以,您可以检查您的权限吗?即:

    ls -li public
    

    现在检查 www-data 或 nginx 是否对您的 image 文件夹具有允许读取权限。

    【讨论】:

    • 模式 LastWriteTime 长度名称 ---- ------------- ------ ---- d----- 11/6/2019 12:31 AM CSS d----- 11/6/2019 12:31 AM 字体 d----- 11/6/2019 1:19 AM 图片 dr--- 11/6/2019 10:16 AM图片
    • 主要问题是当图像在 public/img 中时,如果我将其从子文件夹中取出,它会给我错误,它不会给我错误
    • 那么img 文件夹不可访问,为确保它也可以公开访问,您可以尝试更改它的权限:sudo chmod ugo+w public/img
    • sudo :术语“sudo”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,
    猜你喜欢
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2017-02-03
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    相关资源
    最近更新 更多