对EasySwoole中Requset方法的认识:UploadController.file()
$request = $this->request();
print_r($request);
调用该方法的进行测试在终端显示的部分内容为
这里为们可以看到调用了uploadedFiles
方法。因为上传的健名为file
所以参数会出现一个[file]
的对象
修改UploadController.file()
$request = $this->request();
$file = $files = $request->getSwooleRequest('file');
print_r($file);
上传测试
这里可以看到上传图片的信息以及临时文件
但是我们需要把他写入到文件流写到磁盘中才能算真正的成功
在这里需要看下源码,路径:
在这个类中有个moveTo()
public function moveTo($targetPath)
{
// TODO: Implement moveTo() method.
return file_put_contents($targetPath,$this->stream) ? true :false;
}
需要传入存放文件的目标路径
$request = $this->request();
$file = $request->getUploadedFile('file');
$flag = $file->moveTo('/Users/qvbilam/Sites/easyswoole/upload/1.jpeg');
$data = [
'flag' => $flag
];
if(!$flag){
return $this->writeJson(10001,'error',$data);
}
$data['url'] = '/upload/1.jpeg';
return $this->writeJson(200,'ok',$data);
测试文件上传成功~