代码之家  ›  专栏  ›  技术社区  ›  blastme

从公用文件夹laravel打印图像时出现问题

  •  0
  • blastme  · 技术社区  · 7 年前

    我想显示的图像,我刚刚上传,只显示给那些谁上传了它。例如,用户表包含jack、Emily和John,所以如果jack要上载文件,图像将直接显示在他的下方,但我不知道如何操作?

    现在是这样的: enter image description here

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

    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();
    }
    

    看法刀身php

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

    我看到人们在他们的刀刃里用这个。php,但我不知道$model是什么:

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

    上载刀身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>
    

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Miggy    7 年前

    有很多方法可以做到这一点。

    你可以使用 Eloquent 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