无法从 public 文件夹 laravel 打印图像

Trouble printing out image from public folder laravel

我想展示我刚刚上传的图片,并且只展示给上传它的人。比如用户table里面有jack,Emily和John,如果jack上传文件图片会直接显示在他的下面,但是我不知道怎么办?

这是现在的样子:

控制器:(我如何存储图像)

public function store1(Request $request){

   $this->validate($request, [
        'file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);

   if ($request->hasFile('file')) {
        $image = $request->file('file');
        $name = $image->getClientOriginalName();
        $size = $image->getClientSize();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $name);

        $userImage = new UserImage;
        $userImage->name = $name;
        $userImage->size = $size;
        //dd($userImage);
        $userImage->save();
}

view.blade.php

 @foreach ($data as $object)
    <b>Name: </b>{{ $object->name }}<br><br>
@endforeach

我看到有人在他们的 blade.php 中使用这个,但我不知道 $model 是什么:

    <img src="{{ asset('public/images/' . $model->image) }}"> 

上传。blade.php(这是我的上传页面,用户将在其中上传他们的图片)

                        {{  csrf_field()  }}


<div class="form-group">
    <label for="imageInput" class="control-label col-sm-3">Upload Image</label>
            <div class="col-sm-9">
                <input type="file" name="file">

        </div>
    </div>

 <div class="form-group">
            <div class="col-md-6-offset-2">
              <input type="submit" class="btn btn-primary" value="Save">
            </div>
          </div>
          </form>

有很多方法可以做到。

您可以使用 Eloquent 或使用 Laravel 的 query builder

在你的控制器中你应该得到用户上传的所有图片。

Query builder 方法:

//don't forget the namespace
`use DB;`

//in your function write this.
$images = DB::table('user_images')
        ->join('users', 'users.id', '=', 'user_images.user_id')
        ->where('users.id', '=', $id) 
        ->get();

//use dd($images) to verify that the variable $images has data

//send $images in your view

在您看来,编写一个 foreach 循环如下:

@foreach($images as $image)
    <img src="{{ asset('public/images/' . $image->name ) }}"> 
@endforeach