Laravel $请求文件

Kam*_* G. 1 post file laravel

$request 文件返回异常 - “在 null 上调用成员函数 move()”

<form  action="{{url('/addnews')}}" class="reviews-form" role="form" 
<input type="file" name="file">
<div class="form-group">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

public function AddData(Request $request)
{
$file=$request->file('file');
$file->move('images',$file->getClientOrginalName());
}
Run Code Online (Sandbox Code Playgroud)

cee*_*yoz 5

您的<form>标签需要enctype="multipart/form-data"(以及method="post")。如果没有 enctype,请求中将不会包含任何文件数据,从而导致$request->file('file')为空。

您还应该$request->file('file')在尝试移动文件之前检查它是否是一个文件(Laravel 的 Validation 类有file专门针对此的规则)。您的某些用户肯定会忽略上传文件,并且应该收到有用的验证错误而不是异常。