CreateDocumentWithAttachment
接口描述
上传附件并创建/更新Document,可通过给 ActionCode 参数赋值同时执行workflow
参数类型
参数 | 类型 | 说明 |
---|---|---|
FormAlias | String | Target form 的别名, Form别名, Form的标识 |
DataId | String | 文档ID,无下划线的GUID,可为空,为空时接口自动生成, 创建一个新的Document,不为空时如果该Document存在,更新该Document,否则创建新Document. |
UserName | String | 新建时,创建人/修改人,修改时为修改人.UserName如果不正确,但是设置了ActionCode, Workflow的Action不能正确执行 |
UserId | String | Staff Code, 新建时,为创建人属性赋值,修改时为修改人属性赋值, 该参数如果不正确,但是设置了ActionCode, Workflow的Action不能正确执行 |
AttachmentFieldName | String | 附件在Form中对应的控件Field name |
TransferToPDF | Bool | 是否将附件转为PDF,默认为 true。4.5.1开始支持。如果附件控件为安全上传控件,则该字段会被忽略。 |
ActionCode | String | Workflow button的ActionCode |
ActionMessage | String | Document 历史信息,可使用Edit History组件中展示 |
Data | Dictionary<string, object> |
附件信息,具体字段见下表 |
DocumentData | Dictionary<string, string> |
文档其他字段字典,该参数为必选,如没有字段需要更新,可传入{},具体字段见下表 |
Data说明
字段名 | 类型 | 说明 |
---|---|---|
fileName | string | 文件名 |
fileStream | Stream | 文件字节数组 |
fileUUID | string | 文件标识,可以指定GUID(带-长格式)作为值,若不指定,接口自动生成。可通过该字段调用 DownloadAttachment 下载附件。 |
totalSize | long | 文件总大小 |
返回参数类型
操作失败时数据类型为string,1为成功,其他值失败。 所有操作都完成时返回的数据类型:
UploadAttachmentResult
字段名 | string | 说明 |
---|---|---|
StatusCode | string | 返回状态编码 |
Info | string | API执行结果描述 |
entityName | string | document所属entity名称, Form别名, Form的标识 |
dataId | string | document的ID |
result | string | 操作结果 |
msg | string | 操作结果描述 |
说明
支持转为
"JPG","BMP","PNG","GIF","PPTX","PPT","XLSX","XLS","DOCX","DOC","VSDX","VSD","PDF"
。支持转为
HTML
的附件类型为:"PPTX","PPT","XLSX","XLS","DOCX","DOC","PDF","CSV","JPG","JPEG","PNG"
。系统会根据指定的
AttachmentFiledName
判断对应控件的类型,并自动处理转为html的逻辑。同时注意:转HTML和转PDF互斥。TransferToPDF参数设置为 true 时,接口会判断附件格式类型,如果附件格式为系统支持的类型,则上传完成后会自动生成PDF预览文件保存,否则返回错误提示。
TransferToPDF参数设置为 false 时,接口不检查附件格式类型,也不生成PDF预览文件。
该方法不支持分片上传。
输入示例
{
"FormAlias": "DemoFormAlias",
//若不指定,接口自动生成
"DataId": "94635f2b5ae24fa28d6ca3ab5c96f8c9",
"UserName": "DemoUser",
"UserId": "420e8692-814b-491a-96c3-af63ea2a3ec1",
//不执行workflow时可以为空
"ActionCode": "",
"ActionMessage": "BulkUploadLog",
//上传附件所属字段名称
"AttachmentFieldName": "Log",
//文件信息
"Data": {
"fileName": "newfile.txt",
//可通过该字段的值调用 DownloadAttachment 下载
"fileUUID": "3707425b-8a65-44c9-8627-ebbc0d2e622f",
"totalSize": 18,
//MemoryStream to Base64 String
"fileStream": "dGhpcyBpcyBkdWEgdGVzdCAx"
},
"DocumentData": {
"OtherField": "demo"
}
}
返回示例
{
"StatusCode": 200,
"Info": "Request (or process) succeeded",
"Data": {
"entityName": "DemoFormAlias",
"dataId": "94635f2b5ae24fa28d6ca3ab5c96f8c9",
"result": 1,
"msg": "Process successed"
}
}