WebAPI附件上传下载接口

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

WebAPI附件上传下载接口

调用文件服务接口的附件上传方式(https://vip.kingdee.com/article/183394)主要存在两个问题: 1.UserToken是通过Url参数携带的,同WebAPI增删查改等接口不一致; 2.单据上传附件需要分两个步骤调用,过程略显麻烦。 新的WebAPI附件上传下载接口,简化附件上传步骤,同时验权逻辑同其他WebAPI接口保持一致。 注意:WebAPI新的附件上传下载接口是针对文件服务器和云存储的,不支持数据库附件存储方式。

发布版本:V8.0

上线日期:2022-03-31

补丁号:PT-146906

新特性介绍

  • 简化通过WebAPI接口方式单据附件上传步骤

操作指引

1根据接口说明调用

特性效果展示

星空webapi附件上传/下载接口说明

1、上传附件接口(上传附件并绑定单据):

 http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentUpLoad.common.kdsvc

参数说明:

注意:

1. 如果是单据头附件,EntryinterId要么不填,要么填-1。

2. 大的附件(如大于4M),一定要分块儿上传。分块儿上传方式为将读取到的附件字节流拆分成多个块,分别转Base64以后,按顺序分别调用上传接口。 第一次调用时候成功时候会返回调用成功的FileID,后续分块调用时候请求消息里需要携带这个FileID以标识多次调用为同一个文件。 分块上传非最后一个分块调用接口时候需要将IsLast参数设置为fasle,最后一个分块上传时候需要将IsLast参数设置为true。

可以参考下面教程里面的分块上传示例:https://vip.kingdee.com/article/382560130220759040



Postman请求示例:

单据头附件

{
    "data": {
        "FileName": "0616.txt",
        "FormId": "PUR_PurchaseOrder",
        "IsLast": true,
        "InterId": "100723",
        "BillNO": "CGDD000198",
        "AliasFileName": "test",
        "SendByte": "文件字节数组转base64后的字符串"
    }
 }


单据体附件

{
    "data": {
        "FileName": "0616.txt",
        "FormId": "PUR_PurchaseOrder",
        "IsLast": true,
        "InterId": "100723",
        "Entrykey": "FPOOrderEntry",
        "EntryinterId": "101300",
        "BillNO": "CGDD000198",
        "AliasFileName": "test",
        "SendByte": "77u/MTIzNA=="
        }
}


使用Kingdee.BOS.WebApi.Client.dll的话,数据包格式不需要携带data那一层,按下面格式传值即可

{
  "FileName": "0616.txt",
  "FormId": "PUR_PurchaseOrder",
  "IsLast": true,
  "InterId": "100723",
  "BillNO": "CGDD000198",
  "AliasFileName": "test",
  "SendByte": "文件字节数组转base64后的字符串"
}

使用Kingdee.BOS.WebApi.Client.dl示例


返回参数说明:

返回示例:

{
    "Result": {
        "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                    "Id": 470257,
                    "Number": null,
                    "DIndex": 0
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
        },
        "FileId": "23d8a447a9254a788f2d12a499898755",
        "Message": ""
    }
}


2、下载附件接口: http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentDownLoad.common.kdsvc

参数说明:

请求示例:

{
    "data": {
        "FileId": "b671ad15ef884994813e0fc6e0f0f79e",
        "StartIndex": 0
    }
}

返回参数说明:

返回示例:

{
    "Result": {
        "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [],
            "SuccessMessages": [],
            "MsgCode": 0
        },
        "StartIndex": 4194304,
        "IsLast": true,
        "FileSize": 6378,
        "FileName": "1104.txt",
        "FilePart": "文件字节数组转base64后的字符串",
        "Message": ""
    }
}


3、上传文件接口(不绑定单据): http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UploadFile.common.kdsvc 

参数说明:

请求示例:

{
    "data": {
        "FileName": "test.txt",
        "IsLast": true,
        "SendByte": "文件字节数组转base64后的字符串"
    }
}

返回参数说明:

返回示例:

{
	"Result": {
		"ResponseStatus": {
			"IsSuccess": true,
			"Errors": [],
			"SuccessEntitys": [],
			"SuccessMessages": [],
			"MsgCode": 0
		},
		"FileId": "8941112c242942e5b18f7e38839530fa",
		"Message": ""
	}
}


4、附件绑定单据: http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc 

参数说明:

请求示例:

{
	"FormId": "BOS_Attachment",
	"data": {
		"Model": {
			"FFileId": "4a072355a22342d5ae3c569a12d51734",
			"FAttachmentName": "test123.txt",
			"FBillType": "PUR_PurchaseOrder",
			"FInterID": "101827",
			"FBillNo": "CGDD000949-2003",
			"FAttachmentSize": 64.66,
			"FExtName": ".txt",
			"FEntryinterId": "-1",
			"FEntrykey": " ",
			"FaliasFileName": "别名",
			"FCreateMen": {
				"FUserID": "100008"
			},
			"FCreateTime": "2021-12-30 15:15:20"
		}
	}
}

返回参数说明:

返回示例:

{
    "Result": {
        "ResponseStatus": {
            "IsSuccess": true,
            "Errors": [],
            "SuccessEntitys": [
                {
                    "Id": 207179,
                    "Number": null,
                    "DIndex": 0
                }
            ],
            "SuccessMessages": [],
            "MsgCode": 0
        },
        "Id": 207179,
        "Number": "",
        "NeedReturnData": [
            {}
        ]

WebAPI附件上传下载接口

调用文件服务接口的附件上传方式(https://vip.kingdee.com/article/183394)主要存在两个问题:1.UserToken是通过Url参数携带的,同WebAPI...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息