关于 bitrix-files
面向 Bitrix 开发者的文件处理技能,涉及存储、上传、交付和 UI 上传器工作流,并说明文件 ID、校验、私有文件访问及删除的安全做法。
主要功能
- 01通过 CFile 管理文件存储
- 02校验上传文件
- 03处理 UI 上传器待提交文件
- 04通过权限检查提供私有文件
适用场景
- 01保存或替换文件并保留 ID
- 02在应用操作中校验上传内容
- 03权限检查后交付私有文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-files安装后在 Claude Code 中输入/bitrix-files确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
rules/delivery.mdstorage.mdui-uploader.mduploads.md详细介绍
Bitrix 文件
基线:main 23.0+ · 已验证:main 26.800.0、ui 26.687.0
| 任务 | 阅读 |
|---|---|
保存、读取、调整大小、删除;b_file 布局;云存储;保留 ID 替换内容 | rules/storage.md |
在你的操作中接收上传文件:验证、MIME、旧版 main.file.input | rules/uploads.md |
ui.uploader 后端:UploaderController,提交待处理文件 | rules/ui-uploader.md |
提供文件:BFile、私有文件、查看器 | rules/delivery.md |
JS 小部件(ui.uploader、ui.viewer):bitrix-ui。.settings.php 中的上传器设置:bitrix-settings。文件字段:bitrix-iblocks、bitrix-highloadblock。
不变量
- 只能通过
CFile写入b_file。FileTable只读:add/update/delete会抛出NotImplementedException。存储文件 ID,绝不存储路径。 - URL 使用
CFile::GetFileArray()['SRC']或CFile::GetPath();获取本地字节使用CFile::MakeFileArray($id)['tmp_name']。绝不要自行拼接/upload/+SUBDIR:云存储、upload_dir选项和替换操作都会导致其失效。 - 客户端名称、MIME 和大小都不可信:将扩展名加入白名单,根据内容检测 MIME,并解码图像。
- 绝不要将用户输入传给
CFile::MakeFileArray():它会读取本地路径、b_file ID 和 URL。 /upload/中的所有内容都可通过 URL 访问。通过会检查权限的操作提供私有文件。CFile::Delete()会删除物理文件及其缩放缓存,无法撤销。
评论
支持 Markdown