- 中国
- 广东
- 广州市 网友
- #1
下面教程 可以直接设置上传附件到OSS,而不需要安装任何插件
XF2.3功能 已经配置好了亚马逊S3 SDK了,所以只需要配置下列参数即可。故本教程仅适用于 XF2.3以上版本
首先请获取你在用的OSS提供商的三个关键参数,分别是key secret 以及你存储的bucket 桶名。请注意,key和secret 的权限请配置好允许修改上传OSS权限。
具体怎样获取,不详细说明,自行搜索
下面以阿里云OSS示例
1. 在OSS后台中取得桶名 bucket名
2、在src/config.php 添加下列关键代码
endpoint指OSS服务商的地址,这里以北京阿里云OSS的地址示例
XF2.3功能 已经配置好了亚马逊S3 SDK了,所以只需要配置下列参数即可。故本教程仅适用于 XF2.3以上版本
首先请获取你在用的OSS提供商的三个关键参数,分别是key secret 以及你存储的bucket 桶名。请注意,key和secret 的权限请配置好允许修改上传OSS权限。
具体怎样获取,不详细说明,自行搜索
下面以阿里云OSS示例
1. 在OSS后台中取得桶名 bucket名
2、在src/config.php 添加下列关键代码
endpoint指OSS服务商的地址,这里以北京阿里云OSS的地址示例
代码:
$s3 = function()
{
return new \Aws\S3\S3Client([
'credentials' => [
'key' => '你的KEY',
'secret' => '你的密钥'
],
'region' => 'oss-cn-beijing',
'version' => 'latest',
'endpoint' => 'https://oss-cn-beijing.aliyuncs.com/',
'http' => [
'verify' => true, // 默认true SSL 验证 如果网站非https 填false
],
]);
};
//两个参数,bucket桶名 以及自定义文件夹名称,存储的附件将在此文件夹中
$config['fsAdapters']['data'] = function() use($s3)
{
return new \League\Flysystem\AwsS3v3\AwsS3Adapter($s3(), 'bucket桶名', '文件夹名a');
};
//存储缩略图,头像 注意这个文件夹名要以上一个一样
$config['externalDataUrl'] = function($externalPath, $canonical)
{
return 'https://桶名.oss-cn-beijing.aliyuncs.com/文件夹名a/' . $externalPath;
};
//此配置可不加,不加的话本地internal-data会存储一份,加了的话本地不会存储,直接上传到OSS。建议加上去
$config['fsAdapters']['internal-data'] = function() use($s3)
{
return new \League\Flysystem\AwsS3v3\AwsS3Adapter($s3(), 'bucket桶名', '文件夹名a/internal_data');
};
打赏用户
