lumen和laravel中上传图片有些许差别,因为lumen框架下的没有config文件夹(当然如果不嫌费劲,你也可以自己建,自己改配置文件),要实现图片的上传可以在方法内定义。
我是用postman测试的,在postman的body下可以选择上传的是文件类型还是TEXT类型。
首先控制器中
public function saveResultData(Request $request){ $v =$this->validate($request,[ 'thumb'=>'required|image' ]); $image= $v['thumb']; if ($image->isValid()) { //获取文件名自带后缀 $imageName=$image->getClientOriginalName(); //避免重名 $time = time(); $t= date("YmdHms_",$time); $name = $t.$imageName; //上传定义路径 $dir = env("UPLOAD_DIR"); $image->move($dir,$name); return '文件上传成功!'; }else{ return '文件不合法'; } }
路径“UPLOAD_DIR”需要在根目录下的env文件内定义,这个你可以定义到你工程目录下的某个文件夹,为了方便。
UPLOAD_DIR=D:\uploads
然后在路由中定义,方法名是我根据项目起的,别见怪。
$router->post('saveResultData', ['as'=>'projectV.result.save', 'uses'=>'V1\ResultController@saveResultData']);
如果是文件上传大同小异, 你只需要把validate中的验证规则改了就可以。如果你不想用validate验证,
你也可以直接 用Input::get( )。