UploadFile 对象

基于 PSR-7 规范封装的 UploadFile

注意,当上传大于 2M 的文件时请调整配置文件 MAIN_SERVER.SETTING.package_max_length 参数,详细请看 配置文件

在控制器内获取上传的文件:

  1. <?php
  2. namespace App\HttpController;
  3. use EasySwoole\Http\AbstractInterface\Controller;
  4. class Index extends Controller
  5. {
  6. function index()
  7. {
  8. $request = $this->request();
  9. // 获取一个上传文件,客户端上传的文件字段名为 'file'
  10. // 返回的是一个 \EasySwoole\Http\Message\UploadFile 的对象
  11. /** @var \EasySwoole\Http\Message\UploadFile $file */
  12. $file = $request->getUploadedFile('file');
  13. $file->
  14. // 获取所有上传的文件
  15. // 返回的是一个包含多个 \EasySwoole\Http\Message\UploadFile 对象的对象数组
  16. $files = $request->getUploadedFiles();
  17. }
  18. }

获取临时文件名

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getTempName();

获取 Stream

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getStream();

移动到指定位置

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->moveTo('/xxx/xxx/xxx.png'); // 失败这里会抛出异常 \EasySwoole\Http\Exception\FileException

获取文件大小

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getSize();

获取错误码

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getError();

获取客户端文件名

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getClientFilename();

获取文件类型

  1. /** @var \EasySwoole\Http\Message\UploadFile $file */
  2. $file->getClientMediaType();