Not allowed to load local resource with Laravel

不问归期 提交于 2019-12-02 11:42:27

问题


I have put in an upload form in my Laravel application, the file uploads and saves it but when I try to display it I get joew:1 Not allowed to load local resource: file:///C:/xampp/htdocs/socialNet/public/uploads/joew.png

This is the root I put in the filesystems.php file

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

So the photo is being saved inside a folder called public inside the storage folder.

This is the function retrieving the file

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

    }

and this is the format that it is saved in the database.

C:\xampp\htdocs\socialNet\public\uploads\joew.png

回答1:


Your browser is not allowed to directly load that file from your harddrive. In your view you are probably getting something like this:

<img src="C:\xampp\htdocs\socialNet\public\uploads\joew.png" />

You need a URL for the browser to access this image. In your view you need something like:

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

The asset() function from Laravel creates a URL from the public folder and appends the param you give it. So this will create a URL like: http://localhost/public/uploads/joew.png

Edit: The folder you specified (storage_path) is probably not readable for the browser at all. Change the uploads to public_path('uploads') and it will be accessible.



来源:https://stackoverflow.com/questions/37415159/not-allowed-to-load-local-resource-with-laravel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!