我不断得到这个错误,当我尝试上传一个PDF文档文件,有人有任何想法如何解决这个问题?
我试过寻找类似的问题,但仍然无法解决它(例如:Upload pdf file using Laravel 5)
我试着做dd()
,看看文件是否已经上传,它确实显示了文件名,但错误说Call to a member function getClientOriginalName() on null
,所以现在我有点困惑,现在该怎么办。
这是我的密码,提前感谢你的帮助。
控制器:
class CreateController extends Controller
{
public function create(){
return view('create');
}
public function store(Request $request){
$uniqueFileName = uniqid() . $request->get('upload_file')->getClientOriginalName() . '.' . $request->get('upload_file')->getClientOriginalExtension();
$request->get('upload_file')->move(public_path('files') . $uniqueFileName);
//dd($request);
return redirect()->back()->with('success', 'File uploaded successfully.');
}
字符串
create.blade.php
<form enctype="multipart/form-data" class="form-horizontal" method="post" action="{{ url('/user')}}">
{{ csrf_field() }}
<div class="form-group">
<label for="upload_file" class="control-label col-sm-3">Upload File</label>
<div class="col-sm-9">
<input class="form-control" type="file" name="upload_file" id="upload_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>
型
路线:
Route::get('/user/create','CreateController@create');
Route::post('/user','CreateController@store');
型
7条答案
按热度按时间xvw2m8pv1#
这个enctype解决了函数调用时的null问题
字符串
4ioopgfo2#
您需要使用
file()
函数才能访问您上传的文件$request->file('upload_file')
个ru9i0ody3#
在标签表单
enctype="multipart/form-data"
中使用此代码字符串
pvcm50d14#
尝试将文件放入var。
字符串
并从中获取扩展名和名称。
型
希望有帮助。
qacovj5a5#
解决这个问题的关键是你必须在
if
子句中写getClientOriginalName()
函数,就像这样:字符串
neekobn86#
字符串
0s7z1bwu7#
字符串