就挺奇怪的,非常常见的操作,但全网却找不到一篇教程,在我的一番尝试下,终于找到了能用的配置方法,在此记录一下。支持 AWS S3 的存储服务同理,比如阿里云什么的也一样。

安装 FoF Upload 插件

原作帖子地址:https://discuss.flarum.org/d/4154-friendsofflarum-upload-the-intelligent-file-attachment-extension

composer require fof/upload

获取配置参数

原理很简单,插件支持 AWS S3 及其兼容协议,腾讯云的 COS 也兼容 AWS S3 协议,所以直接填进去就能用,当然参数也要填对。支持 AWS S3 的存储服务同理,比如阿里云什么的也一样。

本文不再赘述创建存储桶取得 Key 之类的基本操作,可以参考下面:

腾讯云官方 AWS S3 配置指南:https://cloud.tencent.com/document/product/436/41284

Amazon Simple Storage Service(Amazon S3,下文简称 S3)是 AWS 最早推出的云服务之一,经过多年的发展,S3 协议在对象存储行业事实上已经成为标准。腾讯云对象存储 COS(下文简称 COS)提供了兼容 S3 的实现方案,因此您可以在大部分兼容 S3 应用中直接使用 COS 服务。

配置 FoF Upload

在 Flarum 后台,进入 FoF Upload 配置页。

文件链接前缀

找到“存储设置 - 文件链接前缀 / 对象存储 CDN 或访问域名(含 http/https)”,在里面填入你的腾讯云域名前缀。

格式为 https://<BucketName-APPID>.cos.<Region>.myqcloud.com

例如 //jacob-1234567890.cos.ap-guangzhou.myqcloud.com

AWS S3 存储设置

找到“AWS S3 存储设置”,依次填入。

  • Key:即腾讯云的 SecretKey
  • Secret:即腾讯云的 SecretId
  • 存储空间(Bucket):即腾讯云的存储桶名称 BucketName-APPID
  • 地域(Region):即腾讯云的地域 Region

高级 S3 存储设置

找到“AWS S3 存储设置”,依次填入。

  • 访问域名(Endpoint):https://cos.<Region>.myqcloud.com<Region>替换为你的,如ap-guangzhou
  • 使用 path-style 访问域名:关闭
  • 访问控制列表(ACL):public-read (即共有读私有写)

应用于上传对象的读写权限 ACL(默认私有读写)。有关可用的值,请参阅:https://iflarum.cn/aws-s3acl