Laravel提供了强大文件系统,开发文件管理非常方便。默认情况下web只能访问public
公共磁盘目录。
访问storage下任意图片
如果图片不是放在storage
公共磁盘中,可以定义一个用于访问图片的路由,如下:
routes/web.php定义路由:
1 | // file manager |
FileManageController.php中定义action:
1 | /** |
view里的图片:
1 | <img src="{{route('filemanager.show',['filename'=>$image['name']])}}"> |
公共磁盘图片访问
public 磁盘用于存储可以被公开访问的文件,默认情况下, public 磁盘使用 local 驱动并将文件存储在storage/app/public
,要让这些文件可以通过web访问到,需要创建一个软链 public/storage
指向 storage/app/public
。
创建这个软链,可以使用Artisan命令 storage:link :
1 | php artisan storage:link |
图片被存储并且软链已经被创建的情况下,就可以使用辅助函数asset
创建一个指向该图片的URL:
1 | <img src="{{asset('storage/picture.png')}}">; |