【发布时间】:2017-08-27 16:48:29
【问题描述】:
我可以显示现有文本,如姓名和地址,但无法以编辑形式显示图像。 我的 show.blade.php
@section('content')
<p>This is user {{ $profile->name }}</p>
<p>This is address {{ $profile->address }}</p>
<img src= "/storage/images/{{ $profile->images }}" style="width:504px;height:228px />
@endsection
这很好用。
现在编辑.blade.php
<div class="container">
<form method="POST" action="/profiles/{{$profile->id}}" enctype="multipart/form-data">
{{ method_field('PATCH') }}
{{ csrf_field() }}
<div class="form-group">
name <input type="text" name="name" value="{{ $profile->name }}" />
</div>
<div class="form-group">
address <input type="textarea" name="address" value="{{ $profile->address }}" />
</div>
<div class="form-group">
@if ("/storage/images/{{ $profile->images }}")
<img src="{{ $profile->image }}">
@else
<p>No image found</p>
@endif
image <input type="file" name="image" value="{{ $profile->images }}"/>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary">Submit</button>
</div>``
</div>
当我尝试保存表单时,更新图像时将不同的图像路径保存在数据库表中,即
/tmp/phpHs0Io6
存储控制器是
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required|max:255',
'address' => 'nullable' ,
]);
$profile = new profile;
$profile-> user_id = auth()->id();
$profile-> name = $request->name;
$profile-> address = $request->address;
$request->image->store('public/images');
$path = $request->image->hashName();
$profile-> images = $path;
$profile->save();
return redirect('/home');
}
更新控制器是
public function update(Request $request, profile $profile)
{
$this->validate($request, [
'name' => 'required|max:255',
'address' => 'nullable' ,
]);
$profile->update($request->all());
$profile-> name = $request->name;
$profile-> address = $request->address;
$request->image->store('public/images');
$path = $request->image->hashName();
$profile-> images = $path;
$profile->save();
return redirect('/home');
}
【问题讨论】: