飞布产品手册
官网B站Github
V1.0
V1.0
  • 序言
  • 更新日志
  • 产品简介
    • 什么是飞布?
    • 飞布的价值
    • 飞布的优势
    • 应用场景
    • 数据安全
    • 产品案例
  • 快速入门
    • 初识飞布
    • 快速上手
      • 图文版
    • 词汇概览
    • 工作原理
  • 基础-可视化开发
    • 概览
      • CLI
      • 控制台
        • 主功能区
    • 数据源
      • 数据库
        • 数据库连接
          • 高级设置
        • 数据建模
        • 数据预览
      • REST 数据源
      • GraphQL 数据源
      • 消息队列
    • API构建
      • 可视化构建
        • API规范
      • 批量新建
      • HTTP请求流程指令
      • 使用API
      • 实时查询
      • 实时推送
      • 关联查询
      • 数据缓存
      • 常见用例
    • 身份验证
      • 授权码模式
        • 身份验证(废弃)
      • 隐式模式
      • 数据权限控制
    • 身份授权
      • RBAC
        • 授权与访问控制(废弃)
      • 接口权限控制
      • 开放API
    • 文件存储
      • S3配置及使用
      • 文件管理面板
      • 高级配置:profile
  • 进阶-钩子机制
    • 钩子概览
    • 启动钩子
      • Node钩子
      • Golang钩子
      • Python钩子
      • Java钩子
    • OPERATION钩子
    • 身份验证钩子
    • graphql钩子
    • 函数钩子
      • functions(废弃)
      • proxys(废弃)
    • 文件上传钩子
    • 内部调用
  • 使用-部署上线
    • 部署运维
      • 手动部署
        • 流水线部署(废弃)
      • Docker部署
      • 飞布云
    • 接口安全
      • CSRF token 保护
      • 跨域访问
    • 客户端SDK
      • 微信小程序SDK
      • Flutter SDK
      • uniapp SDK
  • 环境准备
    • 文件存储 S3
    • 身份认证 OIDC
    • NodeJs环境
  • 实战案例
    • Fireboom Admin
      • 管理后台-refine(废弃)
    • 实时TODO LIST
    • 语音版ChatGPT
    • AI魔法师实战
    • 阿里低代码引擎
  • 路线图
  • 常见问题
  • 核心概念
    • GraphQL
    • 超图
    • 请求时序图
    • 服务端Operation
  • 二次开发
    • 钩子规范
      • 钩子规范bak
    • 模板规范
    • 自定义模板
    • 其它参考
由 GitBook 提供支持
在本页

这有帮助吗?

在GitHub上编辑
  1. 基础-可视化开发
  2. 文件存储

高级配置:profile

上一页文件管理面板下一页钩子概览

最后更新于1年前

这有帮助吗?

飞布的文件上传还支持高级配置。主要实现3个功能:匿名登录、文件限制以及文件钩子。

  • 匿名登录很简单,只需要开启即可。后续上传文件,无需登录。

  • 文件限制,支持最大文件尺寸,文件类型、文件后缀等的限制。需要注意到的是,文件数量 需要由客户端限制,该参数用于生成客户端SDK时,限制数量。

  • 文件钩子,允许用户在飞布上传文件到OSS之前和之后编写自定义逻辑,修改上传行为。

相关配置:

名称
值
备注

匿名登录

否

默认情况下,需要身份验证才能上传文件。这里开启后,可支持匿名上传。

最大尺寸

10 M

设置上传文件的最大尺寸

文件数量限制

1

生成客户端SDK时会用到

文件类型

image/*,video/*

文件的媒体类型

文件后缀

gif,png

文件后缀

META

{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "postId": { "type": "string" } }, "required": [ "postId" ] }

文件的元数据,和钩子配置使用,值为JSON SCHEMA

前置钩子

否

将在上传到OSS之前运行,允许执行任何必需的验证以及定义存储文件的路径。

后置钩子

否

在上传完成或失败后运行,用来进行后置处理

操作步骤:

  1. 在文件存储面板中,选择列表项,右击点击“新建Profile”

  2. 重命名Profile名称,并填写基本设置(meta和钩子后续讲解)

使用profile,需要在上传文件的请求头中增加X-Upload-Profile字段,该字段为枚举类型,从profile中选择。

curl 'http://localhost:9991/s3/[s3-name]/upload?directory=test' \
  # 设置Profile名称,从枚举值中选择
  -H 'X-Upload-Profile: avatar' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryGB1RSwk0aZy4QW9J' \
  # 可选,根据是否开启匿名登录判断
  -H 'Cookie: user=xxx; id=xxx=; csrf=xx;' \
  -H 'accept: application/json' \
  --data-raw $'------WebKitFormBoundaryGB1RSwk0aZy4QW9J\r\nContent-Disposition: form-data; name="file"; filename="108*108.png"\r\nContent-Type: image/png\r\n\r\n\r\n------WebKitFormBoundaryGB1RSwk0aZy4QW9J--\r\n' \
  --compressed

一旦开启profile,则必须要设置X-Upload-Profile,也意味着普通上传路由会失效!