不允许使用 Laravel 加载本地资源



我已经在我的Laravel应用程序中放入了一个上传表单,文件上传并保存了它,但是当我尝试显示它时,我得到了joew:1 Not allowed to load local resource: file:///C:/xampp/htdocs/socialNet/public/uploads/joew.png

这是我放在文件系统.php文件中的根

目录
'public' => [
            'driver' => 'local',
            'root' => storage_path('public/uploads'),
            'visibility' => 'public',
        ],

因此,照片保存在存储文件夹中名为public的文件夹中。

这是检索文件的函数

 public function getUserAvatar()
    {
         if ($this->username) {
          $userAvatar = User::where('username', $this->username)->value('avatar');
            return "{$userAvatar}";
        }
        if (!$user) {
            abort(404);
        }
    }

这是它保存在数据库中的格式。

C:xampphtdocssocialNetpublicuploadsjoew.png

不允许浏览器直接从硬盘驱动器加载该文件。在您看来,您可能会得到这样的东西:

<img src="C:xampphtdocssocialNetpublicuploadsjoew.png" />

您需要浏览器的 URL 才能访问此图像。在您看来,您需要类似以下内容:

<img src="{{ asset('uploads/joew.png') }}" />

Laravel的asset()函数从public文件夹中创建一个URL,并附加您为其提供的参数。因此,这将创建一个如下所示的URL: http://localhost/public/uploads/joew.png

编辑:您指定的文件夹(storage_path)可能根本不可供浏览器读取。将上传更改为public_path('uploads'),即可访问。

最新更新