对EasySwoole中Requset方法的认识:
UploadController.file()

$request = $this->request();
print_r($request);

调用该方法的进行测试在终端显示的部分内容为
image.png
这里为们可以看到调用了uploadedFiles方法。因为上传的健名为file 所以参数会出现一个[file]的对象
修改UploadController.file()

$request = $this->request();
$file = $files = $request->getSwooleRequest('file');
print_r($file);

上传测试
1.png
2.png
这里可以看到上传图片的信息以及临时文件
但是我们需要把他写入到文件流写到磁盘中才能算真正的成功
在这里需要看下源码,路径:
3.png
在这个类中有个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);

测试文件上传成功~
QQ20190430-0.gif

Last modification:March 6th, 2020 at 09:58 pm