ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
云后台已经内置了OSS前端直传的支持,不过后端的接口需要自行实现。 其中/v1/upload_oss/index/sign是自行实现的后端签名接口。如果需要修改全局配置,请在/core/util/xybuilder/FormBuilder内修改。 ## 实例 ``` ->addFormItem('img', '图片', 'image', '', [ 'driver' => 'upload_oss', // 申明使用OSS前端直传 'signUrl' => '/v1/upload_oss/index/sign', // 签名接口地址 'format' => ['jpg','jpeg','png','gif','ico'], 'maxSize' => 512, // KB ]) ``` ## 签名接口返回数据规范 ``` $response = array(); $response['key'] = ''; // 上传目录 $response['policy'] = $base64_policy; // 参照OSS文档 $response['OSSAccessKeyId'] = 'OSSAccessKeyId'; $response['success_action_status'] = 200; // 让服务端返回200,不然,默认会返回204 $response['signature'] = $signature; // 参照OSS文档 $response['host'] = $host; // $host的格式为 'https://' + bucketname + endpoint,或者是您绑定的自定义与域名。 $response['expire'] = $end; // 参照OSS文档设置该policy超时时间. 即这个policy过了这个有效时间,将不能访问。 $response['uniqidName'] = md5(uniqid(time())); return json_encode( ['code' => 200, 'msg' => '成功', 'data' => [ 'params' => $response ]] ); ```