我有Laravel 5.5应用程序。我正在尝试更新我的帖子,图片没有更新。当我死了并转储以下
dd($request->hasFile('image'));
输出false
查看:
<div class="box-body">
{{ Form::model($slider, array('route' => array('admin.slider.update', $slider->title), 'method' => 'PUT')) }}
<div class="form-group">
{!! Form::label('title', 'Title') !!}
{!! Form::text('title', null, ['class' => 'form-control', 'placeholder' => 'Title']) !!}
</div>
<div class="form-group">
{!! Form::label('content', 'Content') !!}
{!! Form::textarea('content', null, ['class' => 'form-control', 'placeholder' => 'Content']) !!}
</div>
<div class="row">
<div class="col-md-2 col-xs-6">
<div class="form-group">
{!! Form::label('image', 'Change Image') !!}
{!! Form::file('image') !!}
</div>
</div>
<div class="col-md-10 col-xs-6">
<img src="{{ secure_asset('images/slider/thumb/' . $slider->image )}}" class="img-responsive" width="150">
{{ $slider->image }}
</div>
</div>
{!! Form::submit('Submit', array( 'class'=>'btn btn-info' )) !!}
{!! Form::close() !!}
</div>
控制器:
public function sliderupdate($slider, Request $request){
$slider = Slider::where('title', $slider)->firstorfail();
$slider->title = $request->title;
$slider->content = $request->content;
dd($request->hasFile('image'));
if ($request->hasFile('image')) {
$file = Input::file('image');
//getting timestamp
$timestamp = str_replace([' ', ':'], '-', Carbon::now()->toDateTimeString());
$name = $timestamp. '-' .$file->getClientOriginalName();
$file->move(public_path().'/images/slider/', $name);
$slider->image = $name;
$thumb = Image::make(public_path().'/images/slider/' . $name)->resize(1920,1080)->save(public_path().'/images/slider/thumb/' . $name, 90);
}
$slider->save();
return redirect()->route('admin.slider.edit', $slider->title)->with('status', 'Update Success');
}
路线:
Route::put('admin/slider/{slider}', [
'uses' => 'AdminController@sliderupdate',
'as' => 'admin.slider.update'
]);
我遗失的东西,却找不到它是什么。
答案 0 :(得分:1)
您缺少'files' => true
选项。如果您要接受文件,则传递给files
或Form::open
的数组中需要Form::model
选项。
{{ Form::model($slider, [
'route' => ['admin.slider.update', $slider->title],
'method' => 'PUT',
'files' => true
]) }}
答案 1 :(得分:0)
方法:
function allcat(e) {
var myVar = jQuery('#allcat').val();
jQuery("#anchor").html("<a target='_blank' href='http://www.example.com/page.php?search=" + myVar + "&order=DESC'>All cat Link - " + myVar + "</a>");
return false;
}
function catMain(e) {
var myVar = jQuery('#catMain').val();
jQuery("#anchorMain").html("<a target='_blank' href='http://www.example.com/page.php?category=main&search=" + myVar + "&order=DESC'>Main Cat Link - " + myVar + "</a>");
return false;
}
jQuery(document).keyup(function(event) {
if (event.keyCode == 13) {
jQuery("#anchorMain").trigger('click');
}
})
将<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<h1>Generate Link</h1>
<table border="0">
<tr>
<td>All Others</td>
<td>
<input type="text" size="50" name="allcat" id="allcat" onkeyup="allcat()">
</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Category main</td>
<td>
<input type="text" size="50" name="catMain" id="catMain" onkeyup="catMain()">
</td>
</tr>
</table>
<hr><br>
<span id="anchor">All Category</span><br><br><br>
<span id="anchorMain">Cat main</span>
更改为
public function slideredit($slider){
$slider = Slider::where('title', $slider)->firstOrFail();
return view('admin.slider.edit', compact('slider'));
}