文章目录
- 概要
- 技术要点
- 代码实现
- 小结
概要
单据附件上传
技术要点
单据附件上传金蝶是有提供标准的上传接口:
http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentUpLoad.common.kdsvc
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
FileName | 字符 | 是 | 文件名 |
FormId | 字符 | 是 | 表单id |
IsLast | 布尔 | 是 | 是否最后一次上传 |
InterId | 字符 | 是 | 单据内码 |
Entrykey | 字符 | 否 | 单据体标识,上传单据体附件时候填写所述单据体的标识 |
EntryinterId | 字符 | 否 | 分录内码,如果是单据头附件,要么不填,要么填-1 |
BillNO | 字符 | 是 | 单据编号 |
AliasFileName | 字符 | 否 | 附件别名 |
FileId | 字符 | 否 | 文件id;如果分多次上传,首次上传后必填 |
SendByte | 字符 | 是 | Base64的文件字节流 |
Postman调用如下:
返回参数
参数 | 类型 | 说明 |
---|---|---|
FileId | 字符 | 文件id |
IsSuccess | 布尔 | 是否成功 |
Message | 字符 | 错误提示信息 |
SuccessEntitys.Id | 长整型 | 附件内码 |
代码实现
/// <summary>
/// 上传附件
/// </summary>
/// <param name="FileName">文件名</param>
/// <param name="formId">单据内码</param>
/// <param name="InterId">单据id</param>
/// <param name="BillNO">单据号</param>
/// <param name="AliasFileName">别名</param>
/// <param name="SendByte">流文件</param>
/// <returns></returns>
public static string Draft(string FileName, string formId, string InterId, string BillNO, string AliasFileName, string SendByte)
{
try
{
HttpClient httpClient = new HttpClient();
httpClient.Url = string.Concat(cloudUrl, "Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentUpLoad.common.kdsvc");
JObject jObj = new JObject();
jObj.Add("FileName", FileName);
jObj.Add("FormId", formId);
jObj.Add("IsLast", true);
jObj.Add("InterId", InterId);
jObj.Add("BillNO", BillNO);
jObj.Add("AliasFileName", AliasFileName);
jObj.Add("SendByte", SendByte);
httpClient.Content = JsonConvert.SerializeObject(jObj);
return httpClient.Sysncup();
}
catch (Exception ex)
{
throw ex;
}
}
小结
以上就是调用金蝶标准接口上传单据附件,至于单据内码怎么找可以留言给我。