Я хочу показать изображение, которое я только что загрузил, и показать его только тем, кто его загрузил. Например, таблица пользователя содержит гнездо, Эмили и Джона, поэтому, если бы Джек загрузил файл, изображение будет отображаться прямо под ним, но я не знаю, как это сделать?
Вот как это выглядит сейчас:
Контроллер: (как я храню изображение)
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) }}">
Upload.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
или использовать query builder
Laravel.
В вашем контроллере вы должны получить все изображения, которые пользователь загрузил.
Подход к построению 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