Php laravel 5.2 |上载文件-在null上调用成员函数getClientOriginalName()
我试图上传个人资料图片pict,但出现错误“在null上调用成员函数getClientOriginalName()” 这是我的方法:Php laravel 5.2 |上载文件-在null上调用成员函数getClientOriginalName(),php,laravel-5.2,Php,Laravel 5.2,我试图上传个人资料图片pict,但出现错误“在null上调用成员函数getClientOriginalName()” 这是我的方法: $data = $request->input('fotodosen'); $photo = $request->file('fotodosen')->getClientOriginalName(); $destination = base_path() . '/public/uploads'; $request-&g
$data = $request->input('fotodosen');
$photo = $request->file('fotodosen')->getClientOriginalName();
$destination = base_path() . '/public/uploads';
$request->file('fotodosen')->move($destination, $photo);
$data['fotodosen'] = $photo;
Dosen::create($data);
创建:
{!! Form::open(array('fotodosen'=>'create', 'method'=>'POST', 'files'=>true, 'url'=>'uploads')) !!}
{!! Form::file('image') !!}
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
<i class="fa fa-btn fa-user"></i> Register
</button>
{!! Form::close() !!}
我还是犯了那个错误。我错过了什么
更新:
public function store(CreateDosenRequest $request)
{
$user = User::create([
'name' => $request->input('name'),
'username' => $request->input('username'),
'email' => $request->input('email'),
'password' => $request->input('password'),
'admin' => $request->input('admin'),
]);
$dosen = Dosen::create([
'iddosen' => $request->input('iddosen'),
'nipy' => $request->input('nipy'),
'namadosen' => $user->name,
'user_id' => $user->id,
'alamatdosen' => $request->input('alamatdosen'),
'notelpdosen' => $request->input('notelpdosen'),
'tempatlahirdosen' => $request->input('tempatlahirdosen'),
'tanggallahirdosen' => $request->input('tanggallahirdosen'),
'agamadosen' => $request->input('agamadosen'),
]);
if ($request->hasFile('image')) {
$data = $request->input('image');
$photo = $request->file('image')->getClientOriginalName();
$destination = public_path() . '/uploads/';
$request->file('image')->move($destination, $photo);
$data['fotodosen'] = $photo;
Dosen::create($data);
}
文件名为
image
尝试使用image
而不是fotodosen
$photo = $request->file('image')->getClientOriginalName();
完整代码
$data = $request->input('image');
$photo = $request->file('image')->getClientOriginalName();
$destination = base_path() . '/public/uploads';
$request->file('image')->move($destination, $photo);
你可以像这样检查文件
if ($request->hasFile('image')) {
// your code here
}
从和一篇文章我遇到了同样的问题,所以我使用html表单属性
enctype=“multipart/form data”
范例
<form name="le_form" action="/ft" method="POST" enctype="multipart/form-data">
有关更多信息,请参阅
enctype'=>“多部分/表单数据”
。当我这样做时,它最终解决了这个问题。如果您正在上载文件或表单中有文件字段,请执行此操作
{{ Form::open(array('url' => 'dashboard/new_job', 'enctype'=>'multipart/form-data')) }}
或
$request->file('image')->getClientOriginalName()代码>仍然在nullUsevar_dump($request->file('image'))
上错误地调用了成员函数getClientOriginalName()。我成功地将文件上载到服务器。但它创建了另一个包含空数据的行,除了“fotodosen”列。请检查我的更新代码。
{{ Form::open(array('url' => 'dashboard/new_job', 'enctype'=>'multipart/form-data')) }}
<form action="/ft" method="POST" enctype="multipart/form-data">