Laravel 本地上传图片 怎么获得完整的图片路径插入数据库

$realPath = $file->getRealPath(); // 文件的绝对路径

$filename = '/chat/'.date('Ymd').'/'.date('Ymdhis').'-'.mt_rand(100,999).'.'.$ext; // 定义文件名

$res = Storage::disk('public')->put($filename, file_get_contents($realPath)); // 本地存储

if( $res){
    // 怎么获取完整路径插入数据库?
}

//跟帖
// 用了这种写法 不知道规不规范
$url = config('filesystems.disks.public.url').$filename;

//跟帖 谢谢大佬指点
$disk = Storage::disk('public');
$res = $disk->put($filename, file_get_contents($realPath)); // 本地存储
if( !$res ){
    return Y::error('上传失败local');
}
$url = $disk->url($filename);
welcome come back
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

代码加上空格吧,使用url方法,传入path,将会为你自动拼接驱动配置的url参数。

$disk = Storage::disk('public');
$path = $disk->putFileAs('XXX', 'XXX');
$url = $disk->url($path);
3年前 评论
php_yt (楼主) 3年前
讨论数量: 4
Jennie

资源上传到 public 下:

env('APP_URL') . $res
3年前 评论
php_yt (楼主) 3年前

代码加上空格吧,使用url方法,传入path,将会为你自动拼接驱动配置的url参数。

$disk = Storage::disk('public');
$path = $disk->putFileAs('XXX', 'XXX');
$url = $disk->url($path);
3年前 评论
php_yt (楼主) 3年前
$request->validate([
    'image' => 'required|dimensions:width=512,height=512'
]);

$image = $request->file('image');
$path = $image->store('assets/images/commodities', 'public');
$url = Storage::url($path); # 相对 URL 返回的是 /storage/assets/images/commodities/xxx.jpg
$url = url($url); # 绝对 URL 返回的是 http://domain.com/storage/assets/images/commodities/xxx.jpg
return success($url);

相对还是绝对,自己根据业务需求决定!

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!