UploadFile 对象

基于 PSR-7 规范封装的 UploadFile

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

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

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;

class Index extends Controller
{
    function index()
    {
        $request = $this->request();

        // 获取一个上传文件,客户端上传的文件字段名为 'file'
        // 返回的是一个 \EasySwoole\Http\Message\UploadFile 的对象
        /** @var \EasySwoole\Http\Message\UploadFile $file */
        $file = $request->getUploadedFile('file');

        // 获取所有上传的文件
        // 返回的是一个包含多个 \EasySwoole\Http\Message\UploadFile 对象的对象数组
        $files = $request->getUploadedFiles();
    }
}

获取临时文件名

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

获取 Stream

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

移动到指定位置

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

获取文件大小

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

获取错误码

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

获取客户端文件名

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

获取文件类型

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