1. 在文件夹下上传文件并创建文档

在 key 为{key}的文件夹下创建文档。

请求方式:POST

请求地址:/bosdocumentservice/{appKey}/folders/upload/{key}/files

1.1. 请求参数:

Headers:

参数名 类型 示例 是否必填 参数含义
Authorization string c4570cb9ca324bc8ba7dd9d1967710ea access_token

PathParas:

参数名 类型 示例 是否必填 参数含义
key string 5c25f513425b45ea3dr1aa435ca43ft6 文件夹 Key

SearchParas:

参数名 类型 示例 是否必填 参数含义
transactionCode string 3MD2XzN70VkcvbXllg7x7V 业务事务编码

Body(form-data)

{
    "file": "具体文件",
    "sliceKey":"",//分片上传的文档key ,sliceKey为空时取file文件内容
    "bosclass": "",    //文档对象类
    "code": "",    //文档编号(如果不传,默认生成一个唯一码)
    "name": "",    //文档名称(如果不传,默认为上传文件的文件名)
    "revision": "",    //文档版本(如果不传默认为0)
    "description": "",    //文档描述
    "gcategory": "",    //文档类别
    "gsource": "",    //数据来源
    "gmodelType": "",    //模型类型
    "gpriority": "",    //模型解析优先级
    "gmodelDB": "",    //模型存放的3D模型库
    "gCustAttribute": {
        "xxx": "",    //存放文档对象扩展属性
        "yyy": ""
    },
    "mobile":false, //是否转3dtiles
}

1.2. 参数说明:

参数名 类型 示例 是否必填 参数含义
code string 123 文档编号(自定义,如果不传,默认生成一个唯一码)
name string doc1 文档名称(自定义,如果不传,默认为上传文件的文件名)
revision string 1.0 文档版本(如果不传默认为 0)
description string 文档 1 文档描述(自定义)
gcategory string 模型 文档类别(自定义)
gmodelType string ifc/imodel/revit 模型类型(ifc、imodel、revit)
gpriority string 1/0 模型解析优先级(1 表示优先解析,0 表示正常排队解析)
gmodelDB string xb05cd3a35614caa85c0f8f86c58fcc1 模型存放的 3D 模型库,登陆接口成功后返回的 modelDB
sliceKey string NULL 分片上传的文档 key ,sliceKey 为空时取 file 文件内容
mobile boolean NULL 是否转 3dtiles

1.3. 正确返回:

Http Status Code:200{"code":"SUCCESS","message":"请求处理成功","data":"http://xxx.xxx.xxx/bosdocumentservice/h5e4ff8257dc4e86a8042097f67d2718/documents/xxxx"}

1.4. 状态码:

状态码 code message data 原因
200 ENTITY_WRITEPERMISSION_REQUIRED 缺少实体对象{bosclass/key}的写权限 NULL 当前用户如果无该文件夹的写权限时
200 ENTITY_NOTFOUND Key 为{key}的{bosclass}实体对象不存在 NULL 无法找到目标文件夹
200 DOCUMENT_NAME_EXIST 当前文件夹已存在名称为{name}的文档 NULL 如果目标文件夹存在相同名称的文档
200 OBJECT_FIELD_DATATYPE_WRONG XXX 属性数据类型错误 NULL 当字段数据类型错误时
200 ENTITY_NAME_INVALID 实体对象 name 属性值无效 NULL 当文档 name 或文件 name 包含※时
200 DATABASE_NOT_RELATED 3D 库{gmodelDB}未与当前应用关联 NULL gmodelDB 对应的 3D 库未与当前 BOS 应用关联
200 NULL NULL NULL 根据 BOS3D 返回错误消息进行返回

1.5. 注意事项:

1、 gmodelDB 必填,不可为空。

2、 用户必须有该文件夹的写权限。

3、 目标文件夹中是否有同名文档。

4、 如参数中 code 未传递或为空时由 code 系统随机生成,revision 未传递或为空则 revision 默认为 0。

5、 如果 sliceKey 存在,且对应分片文件块均存在,读取对应分片文件块,合并成完整文件保存至文件服务器。

6、 如果 sliceKey 为空,先上传 file 至文件服务器。

7、 创建 documents 记录,然后创建 document 与 file 的关系。

8、 创建 document 与目标文件夹的关联。

9、 更新文档所属所有上层文件夹的 size 属性。

10、如设置 gmodelType 属性值为 ifc、imodel、revit 三者之一(不区分大小写),则在上传文件到 BOSFoundation 后需将文件上传至 BOS3D 服务器并调用解析服务,并在 BOSFoundation 中记录 BOS3D 中该文件的 3dFileKey、modelKey。

11、gpriority 选填,表示解析优先级,默认为 0,此时按队列顺序解析;如需优先解析,可设置为 1,此时插入到当前解析队列最前端,优先解析。

版权所有@盈嘉互联(北京)科技有限公司 京ICP备15051988号-9 Copyright © 2022 all right reserved,powered by Gitbook该文件修订时间: 2022-05-16 19:01:04

results matching ""

    No results matching ""