dongwen7187 2017-03-31 09:29
浏览 21
已采纳

来自Laravel存储的Echo文件URL

Im using this code in my laravel view to echo a files path, but its coming up in chrome dev tools with a 404 response.

<img src="{{ URL::to('/').Storage::url($post->image) }}">

which echos this onto the page

http://localhost:8000/storage/public/bd0e2f7f.png

The file lives there and this is the correct name for the file so im not entirely sure why its coming up with a 404!

  • 写回答

2条回答 默认 最新

  • dongtai419309 2017-03-31 09:40
    关注

    It looks like even though it sees like your path is fine from the app root folder it's not where laravel is looking for it. Laravel will look inside app/public for your path, resulting in an internal app/public/storage/public/bd0e2f7f.png which, unless you've created a symbolic link between the app/storage/public and `app/public, wont find the file.

    The solution, taken from the documentation, is to run:

    php artisan storage:link
    

    from the command line which creates the above-mentioned link, and will allow you to access the file with the url http://localhost:8000/storage/bd0e2f7f.png, not http://localhost:8000/storage/public/bd0e2f7f.png

    From the docs

    The storage/app/public directory may be used to store user-generated files, such as profile avatars, that should be publicly accessible. You should create a symbolic link at public/storage which points to this directory. You may create the link using the php artisan storage:link command. source

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?