mcpField
B
bitrix-files

bitrix-files

github.com/bxmaximum开发4780 次安装2 周前更新
代码仓库

关于 bitrix-files

面向 Bitrix 开发者的文件处理技能,涉及存储、上传、交付和 UI 上传器工作流,并说明文件 ID、校验、私有文件访问及删除的安全做法。

主要功能

  1. 01通过 CFile 管理文件存储
  2. 02校验上传文件
  3. 03处理 UI 上传器待提交文件
  4. 04通过权限检查提供私有文件

适用场景

  1. 01保存或替换文件并保留 ID
  2. 02在应用操作中校验上传内容
  3. 03权限检查后交付私有文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bxmaximum/bitrix-framework-skills --skill bitrix-files

安装后在 Claude Code 中输入/bitrix-files确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
delivery.md
storage.md
ui-uploader.md
uploads.md

详细介绍

Bitrix 文件

基线:main 23.0+ · 已验证:main 26.800.0、ui 26.687.0

任务阅读
保存、读取、调整大小、删除;b_file 布局;云存储;保留 ID 替换内容rules/storage.md
在你的操作中接收上传文件:验证、MIME、旧版 main.file.inputrules/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