【发布时间】:2021-09-25 22:44:46
【问题描述】:
我在显示存储在 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);
}
}
这是用于检索图像的刀片文件:
<img class="card-img-bottom" src="{{ Storage::url($Posts->Image)}}" width="200" height="450">
这里是 config/filesystems.php 中的链接
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
这是我存储数据的表的视图: enter image description here
它一直显示在 storage/app/images 文件夹中,但是当我试图从 public/storage 取回它时,它们不是照片。 我已经做了那个的存储链接?? 现在如何从数据库中获取它??
这是它的查看方法:
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: enter image description here
并且来自 laravel 文档:我已经完成了
php artisan storage:link
这是它的存储文件夹: enter image description here
这里是公用文件夹,其子文件夹称为存储文件夹,用户可以在其中查看文件以在刀片中获取.. : enter image description here
有什么帮助吗?怎么解决??
【问题讨论】:
标签: php database laravel storage laravel-blade