上传文件中间件

该中间件会验证上传文件的类型、尺寸等信息,然后将上传文件移动到对应的 导入 上传 目录并追加上传文件信息到请求日志中。

导入 目录,根据需求及时清理或者按周期清理。

以导入 excel 为例

配置 config/authload/upload.php


$config = [
    ...
    'import_uri' => [ // 导入的uri
        '/public/uploadExample', '/goods/importGoodsInfo'
    ],
    // 导入相关配置
    'import_max_size' => 2 * 1024 * 1024, // 不要设置的太大,如果超过2M的话,需要同时调整swoole package_max_length 配置
    'import_allow_suffix' => ['xlsx'],
    'import_allow_type' => ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
    'import_user_setting' => [
        '/public/uploadExample' => [ //可以根据uri覆盖掉上面的配置
            'import_max_size' => 1 * 1024 * 1024,
        ]
    ]
];

接口示例

public function uploadExample()
{
    // body中包含 size、file_name、save_name、media_type字段
    $body = $this->request->getAttribute('body');

    $data = Excel::excelToData($body['save_name']);

    // 请求 txf-server 保存 $data

    // 如果不需要文件了,立即释放掉。或者写一个脚本定期清理导入目录
    unlink($body['save_name']);

    return true;

}

results matching ""

    No results matching ""