laravel上传图片和使用
laravel上传图片和使用
public目录创建storage的链接
laravel默认使用storage目录存储文件,而网站根目录在public
php artisan storage:link
将storage/app/public目录链接到public/storage目录,从而浏览器可以使用上传的文件
上传文件并获取路径
$path = $request->file('avatar')->store('avatars', 'public');
laravel存储分不同的磁盘,public盘就是存储在storage/app/public目录
上面代码是存储上传的名为avatar的图片存储在public盘的avatars目录
返回的path为avatars/xxxyyy.png,前端并不能直接使用。
echo asset(Storage::url($path));
asset函数返回完整的URL,即:http://laravel.test/storage/avatars/xxxyyy.png
,浏览器可以直接访问。
同时支持s3,ftp,sftp等协议的网络文件