Flarum 文件上传的扩展程序,具有令人难以置信的智慧。
—
—
功能
- 图片上传
- 文件管理
- 使用 MIME 限定文件上传类型。
- MIME 文件类型白名单。
- 本地、第三方存储服务支持(imgur、AWS S3、S3 兼容、七牛云)。
- 支持拖拽、粘贴上传。
- 支持批量上传文件(按钮、拖拽上传均支持)。
- 易扩展性,本扩展高度依赖于事件。
- 扩展器接口,以禁用或强制使用特定的适配器(祥见下文)
安装
通过巴扎市场或 composer 手动安装:
composer require fof/upload
升级
composer require fof/upload php flarum migrate php flarum cache:clear
从 Flagrow 版本升级
本扩展是旧版 Flagrow Upload 的替代。
要从旧扩展升级到当前版本:
备份数据库!您应该备份好数据库以及所有上传的文件。
确保您当前是 Flagrow Upload 的最新版本,请运行:
composer require flagrow/upload composer show flagrow/upload # You should see "versions: * 0.7.1" on the 4th line of output php flarum migrate
在后台禁用上传插件。
运行:
composer require fof/upload
Composer 应该会输出 flagrow/upload
已经被自动删除的信息。
在后台开启新版上传插件。
您此前旧版本的设置、上传元数据将会自动合并到 FoF Upload 旗下。
帖子中的文件插入代码会自动更新为 FoF 头,这意味着您不需要删除他们。
设置
启用插件,新选项卡将会出现在左侧菜单栏。此设置页面可以让您进一步配置扩展程序。
请确保同时在权限页面上配置上传权限。
文件模板
文件模板详情请查看插件设置里的说明。这里注意一下,模板是由处理优先级的,同一个 MIME 类型文件,最上层的文件模板会覆盖掉下层设置的文件模板。
Mimetype 正则表达式
正则表达式使您拥有很大的自由度,但是它们也很难理解。这里有一些提示,您随时可以在 Flarum 官方论坛上寻求帮助。
如果要允许所有常规文件类型,包括视频、音乐、压缩文件和图像,请使用以下命令:
(video\/(3gpp|mp4|mpeg|quicktime|webm))|(audio\/(aiff|midi|mpeg|mp4))|(image\/(gif|jpeg|png))|(application\/(x-(7z|rar|zip)-compressed|zip|arj|x-(bzip2|gzip|lha|stuffit|tar)|pdf))
如果您需要允许上传所有图片文件,请使用通配符:
^image\/.*
MIME 类型由 主要类型 + 次要类型 组成。主类型可以是 image
、video
、application
。
次类型是更详细的规范,例如 png
、pdf
等。两者之间用 /
分隔,在正则表达式中,您必须在斜线前添加转义字符来表示斜线:\/
。
有关 MIME 类型,可以查看 MDN 文档
另外请注意,您添加的规则是有优先级的,最先添加的规则,优先级最高。
禁用或强制使用特定适配器
有些情况下,您可能想要禁用某个上传服务,或者强制使用某个上传服务。您可以在 Flarum 安装根目录的 extend.php
中设置。
例如,您可以禁用 imgur
:
(new FoF\Upload\Extend\Adapters()) ->disable('imgur'),
也可以链式禁用多个服务:
(new FoF\Upload\Extend\Adapters()) ->disable('imgur') ->disable('aws-s3'),
您也可以强制使用服务:
(new FoF\Upload\Extend\Adapters()) ->force('imgur'),
当前可用的适配器有:
常见问题
链接
FriendsOfFlarum 制作扩展