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();