Laravel上载文件时仅存储文件名
我有以下代码来上传和存储文件Laravel上载文件时仅存储文件名,laravel,laravel-6,Laravel,Laravel 6,我有以下代码来上传和存储文件 $user->update([ 'display_profile' => request()->display_profile->storeAs('avatars', $name,'public') ]); 这将文件存储在显示配置文件中,作为化身/filename.jpg 因为我有多个版本的文件用于在视图周围显示,所以我使用了如下前缀 thumb_filename.jpg small_filename.jpg 大型文件名.j
$user->update([
'display_profile' => request()->display_profile->storeAs('avatars', $name,'public')
]);
这将文件存储在显示配置文件中,作为化身/filename.jpg
因为我有多个版本的文件用于在视图周围显示,所以我使用了如下前缀
thumb_filename.jpg
small_filename.jpg
大型文件名.jpg
我需要做大量的字符串替换来插入前缀,以显示图像的正确版本。我是否可以在数据库中只保存文件名而不保存完整路径
如果不是,在视图中显示我的文件的最佳方式是什么?从请求中检索文件时,该文件将转换为对象。您可以很容易地检索原始名称,如下所示
$file=$request->display\u profile;
$user->update([
'display_profile'=>$file->getClientOriginalName()
]);
对于第二个问题,我建议您创建一个与Image
类的关系,您可以在其中存储所需的所有图像转换。但这可能有点棘手,可能需要时间进行编码。幸运的是,有很多库可以为您处理这个问题。我最喜欢的是从请求中检索文件时,该文件将转换为对象。您可以很容易地检索原始名称,如下所示
$file=$request->display\u profile;
$user->update([
'display_profile'=>$file->getClientOriginalName()
]);
对于第二个问题,我建议您创建一个与Image
类的关系,您可以在其中存储所需的所有图像转换。但这可能有点棘手,可能需要时间进行编码。幸运的是,有很多库可以为您处理这个问题。我最喜欢的是我主要使用这种方法:
$file=$request->file('display_profile');
$name=$file->getClientOriginalName()$文件->扩展名();
$file->storeAs('public/avatars',$name);
$user->update([
“显示配置文件”=>$name
]);
我主要使用这种方法:
$file=$request->file('display_profile');
$name=$file->getClientOriginalName()$文件->扩展名();
$file->storeAs('public/avatars',$name);
$user->update([
“显示配置文件”=>$name
]);