Laravel 5.1 $请求->文件 return 空
Laravel 5.1 $request->file return null
我目前正在开发一个简单的表单,让用户可以上传姓名和图片。不幸的是,$request->input('image') 和 Input::file('image') return 为空。如果我做 $request->string('image') 上传文件的名称是 returned。有人可以向我解释我做错了什么吗?
表格
{!! Form::open(['url' => 'categories']) !!}
<div class="form-group">
{!! Form::label('name', 'Naam') !!}
{!! Form::text('name') !!}
</div>
<div class="form-group">
{!! Form::file('image', null) !!}
</div>
{!! Form::submit('Create Category!', array('class' => 'btn btn-primary')) !!}
{!! Form::close() !!}
控制器函数:
public function store(Request $request)
{
$rules = [
'name' => 'required',
'image' => 'required'
];
$validator = Validator::make(Input::all(), $rules);
/**
* Adding the code here also returns null../
*
$file = $request->file('image');
dd( $request->file('image'));
*
*/
// process the login
if ($validator->fails()) {
return Redirect::to('categories/create')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
$file = $request->file('image');
dd( $request->file('image'));
$destination = public_path() . '/img/';
$name = Carbon::now()->toDateTimeString();
$extension = $file->getClientOriginalExtension();
$filename = $name . '.' . $extension;
$file->move($destination, $filename);
$category = new Category();
$category->name = Input::get('name');
$category->file_path = $filename;
$category->save();
Session::flash('message', 'Successfully created Category!');
return Redirect::to('categories');
}
}
正如评论中指出的那样,表单缺少 enctype="multipart/form-data"
属性。
并且要维护 Form
门面主题,您可以将 files
键添加到 open
静态方法中的数组:
{!! Form::open(['url' => 'categories', 'files' => true]) !!}
我目前正在开发一个简单的表单,让用户可以上传姓名和图片。不幸的是,$request->input('image') 和 Input::file('image') return 为空。如果我做 $request->string('image') 上传文件的名称是 returned。有人可以向我解释我做错了什么吗?
表格
{!! Form::open(['url' => 'categories']) !!}
<div class="form-group">
{!! Form::label('name', 'Naam') !!}
{!! Form::text('name') !!}
</div>
<div class="form-group">
{!! Form::file('image', null) !!}
</div>
{!! Form::submit('Create Category!', array('class' => 'btn btn-primary')) !!}
{!! Form::close() !!}
控制器函数:
public function store(Request $request)
{
$rules = [
'name' => 'required',
'image' => 'required'
];
$validator = Validator::make(Input::all(), $rules);
/**
* Adding the code here also returns null../
*
$file = $request->file('image');
dd( $request->file('image'));
*
*/
// process the login
if ($validator->fails()) {
return Redirect::to('categories/create')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
$file = $request->file('image');
dd( $request->file('image'));
$destination = public_path() . '/img/';
$name = Carbon::now()->toDateTimeString();
$extension = $file->getClientOriginalExtension();
$filename = $name . '.' . $extension;
$file->move($destination, $filename);
$category = new Category();
$category->name = Input::get('name');
$category->file_path = $filename;
$category->save();
Session::flash('message', 'Successfully created Category!');
return Redirect::to('categories');
}
}
正如评论中指出的那样,表单缺少 enctype="multipart/form-data"
属性。
并且要维护 Form
门面主题,您可以将 files
键添加到 open
静态方法中的数组:
{!! Form::open(['url' => 'categories', 'files' => true]) !!}