如何从存储文件夹中获取图像到 laravel 8 中的 blade?
how to fetch image from storage folder to blade in laravel 8?
我在显示存储在 laravel 的存储文件夹中的背面图像时遇到错误。
所以这是我在存储文件夹中存储图像的代码:
public function store(Request $request)
{
$data = $request->all();
// dd($request->Image);
$User = Auth::user()->id;
$rules = array(
'postname' => 'required' ,
'description' =>'required',
'Image' => 'required|image|mimes:jpeg,png,jpg|max:8192',
);
$validate=Validator::make($data,$rules);
if ($validate->fails()) {
return redirect()->back()->withInput()->withErrors($validate);
}
else{
$path = Storage::disk('local')->put('public',$request->file('Image'));
$form_data = array(
'title' => $data['postname'],
'description' => $data['description'],
'Image' => $path,
'user_id' => $User,
);
// dd($form_data);
$Posts = Post::create($form_data);
$Message = "successfully added";
return redirect('/Admin/Posts')->with('success',$Message);
}
}
这是用于检索图像的 blade 文件:
<img class="card-img-bottom" src="{{ Storage::url($Posts->Image)}}" width="200" height="450">
这里是config/filesystems中的link。php
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
这是我的 table 存储数据的视图:
enter image description here
并且它一直显示在 storage/app/images 文件夹中,但是当我试图从 public/storage 取回它时,它们不是照片。
我已经将它存储 link 了??
现在如何从数据库中获取它??
查看方法如下:
public function index(Request $request)
{
$Post = Post::get();
// dd($Post);
$User = User::get();
return view('Posts.index',compact('Post'));
}
下面是在浏览器中查看图片:
<img src="/storage/1dTAYokONfbLXS74vEcus665uBhPBzVDAe53QMkL.jpg" width="200" height="450" class="card-img-bottom">
这里是 ui 图像未在 blade 上渲染:
enter image description here
来自 laravel 文档:我已经完成了
php artisan storage:link
这里是它的存放文件夹:
enter image description here
这里是 public 文件夹,其子文件夹称为存储文件夹,用户可以在 blade 中查看文件以获取这些文件。.
:
enter image description here
有什么帮助吗?如何解决??
错误已解决,
我所做的是,遵循这个 Whosebug 答案:
我的 link 又开始工作了。
我刚刚从 public 文件夹中删除了存储文件夹,然后再次 运行 命令
php artisan storage:link
它解决了我的错误
我在显示存储在 laravel 的存储文件夹中的背面图像时遇到错误。 所以这是我在存储文件夹中存储图像的代码:
public function store(Request $request)
{
$data = $request->all();
// dd($request->Image);
$User = Auth::user()->id;
$rules = array(
'postname' => 'required' ,
'description' =>'required',
'Image' => 'required|image|mimes:jpeg,png,jpg|max:8192',
);
$validate=Validator::make($data,$rules);
if ($validate->fails()) {
return redirect()->back()->withInput()->withErrors($validate);
}
else{
$path = Storage::disk('local')->put('public',$request->file('Image'));
$form_data = array(
'title' => $data['postname'],
'description' => $data['description'],
'Image' => $path,
'user_id' => $User,
);
// dd($form_data);
$Posts = Post::create($form_data);
$Message = "successfully added";
return redirect('/Admin/Posts')->with('success',$Message);
}
}
这是用于检索图像的 blade 文件:
<img class="card-img-bottom" src="{{ Storage::url($Posts->Image)}}" width="200" height="450">
这里是config/filesystems中的link。php
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
这是我的 table 存储数据的视图: enter image description here
并且它一直显示在 storage/app/images 文件夹中,但是当我试图从 public/storage 取回它时,它们不是照片。 我已经将它存储 link 了?? 现在如何从数据库中获取它??
查看方法如下:
public function index(Request $request)
{
$Post = Post::get();
// dd($Post);
$User = User::get();
return view('Posts.index',compact('Post'));
}
下面是在浏览器中查看图片:
<img src="/storage/1dTAYokONfbLXS74vEcus665uBhPBzVDAe53QMkL.jpg" width="200" height="450" class="card-img-bottom">
这里是 ui 图像未在 blade 上渲染: enter image description here
来自 laravel 文档:我已经完成了
php artisan storage:link
这里是它的存放文件夹: enter image description here
这里是 public 文件夹,其子文件夹称为存储文件夹,用户可以在 blade 中查看文件以获取这些文件。. : enter image description here
有什么帮助吗?如何解决??
错误已解决,
我所做的是,遵循这个 Whosebug 答案:
php artisan storage:link
它解决了我的错误