当前位置: 首页 > article >正文

如何通过API从知行之桥上传下载PDF文件

b.向flow api 发送请求,即可获取文件内容。

API_PDF16.png

c.将fileBase64节点中的内容base64解码后另存为pdf文件即可。

三、扩展资源
  • Postman调用指南:使用Postman测试EDI系统API

如果您希望了解有关EDI对接的相关信息,欢迎联系我们。

一、通过API向知行之桥上传PDF文件

通过API 向知行之桥上传PDF文件分为Admin API 和Flow API 两个方法,以下将详细介绍:

1. Admin API 上传

接口调用步骤

  • 定位接口

在知行之桥EDI系统的Admin API 界面中,找到上传文件的API接口(/api.rsc/files),选择POST 方法

 http://localhost:8001/api.rsc/files/

API_PDF1.png

  • 配置端口

通过Admin API 进行上传时,需要选择一个端口,本次以Script端口为例,在知行之桥EDI系统中创建一个Script端口,命名为 ScriptPDF。

API_PDF2.png

设置路径:在 设置 选项卡下,选择 操作 为:Transform

API_PDF3.png

接下来按照如下步骤配置(以Postman中的操作为例):

  • 认证配置

a.Header中填写认证信息

x-rssbus-authtoken: [身份认证令牌]  

x-rssbus-authtoken 的 VALUE配置为知行之桥EDI系统中的身份认证令牌,位置如下:

API_PDF4.png

获取令牌:

点击知行之桥左侧菜单栏的 系统设置 ,在 用户 选项卡下点击当前用户:

API_PDF5.png

在 编辑用户 弹窗中勾选 API访问,即可获取身份认证令牌,(⚠️注意:令牌仅明文显示一次,请保存后再点击“保存变更”)。

b.选择body类型为raw->application/json请求内容为:

{ "ConnectorId": "ConnectorId_1", "Folder": "Folder_1", "Filename": "Filename_1.pdf", "MessageId": "MessageId_1","Content": "PDF内容的base64 加密后的值"}

提示:

  • Content 字段需使用 Base64编码(非加密),可通过在线工具或脚本生成。
  • 占位符如 [端口ID] 需替换为实际值。

c. 请求成功后,在ScriptPDF端口的 输入 选项卡查看上传结果。

API_PDF6.png

2. Flow API 上传

a.工作流搭建

通过Flow API 上传,通常需要两个端口进行操作,在知行之桥EDI系统中搭建如下工作流:

API_PDF7.png

点击了解如何在知行之桥EDI系统中搭建 Flow API

b.脚本配置

  • 在Script端口 设置 选项卡下的脚本中,写入以下脚本,用于将收到的BASE64 内容转换为PDF文档。
<arc:set attr="enc.file" value="[FilePath]" />
<arc:set attr="enc.format" value="BASE64" />
<arc:set attr="output.filename" value="[FileName].pdf" />
<arc:set attr="enc.outfile">[_connector.receivefolder | pathcombine('../tmpPDF/[output.filename]')]</arc:set>
<arc:call op="encDecode" in="enc" out="result">
 <arc:set attr="output.filePath" value="[result.outfile]" />
</arc:call>
<arc:push item="output" />

API_PDF8.png

c. 接下来需要将PDF 文件内容进行BASE64编码,直接将内容作为request内容。
d. 请求flow api 地址

API_PDF9.png

e. 下载查看文件

API_PDF10.png

二、通过API从知行之桥中下载PDF

无论是使用Admin API 还是Flow API,都需要进行IP白名单设置和权限设置。

1. Admin API下载

通过Admin API 从知行之桥中下载PDF,以Script端口为例。在知行之桥EDI系统中创建一个Script端口,命名为 ScriptPDF。

a.单个文件查询:查询某个端口内的文件时,可以通过多个查询条件进行查询,比如文件名、消息ID等等,可以使用以下API:

http://localhost:8001/api.rsc/files(ConnectorId='ConnectorId',Folder='Folder',Filename='Filename',MessageId='MessageId')

API_PDF11.png

b.查询多个文件列表

 http://localhost:8001/api.rsc/files/

API_PDF12.png

c. 以单个文件为例:

返回的文件内容是BASE64编码后的内容,需要解密后另存为filename字段所示的文件类型。

API_PDF13.png

2. Flow API 下载

通过Flow API 下载,通常需要一到两个端口进行操作,在知行之桥EDI系统中搭建如下工作流:

API_PDF14.png

通过上传一个简单的XML,生成PDF格式的标签并且返回。

a.在工作流最后加一个Script端口,设置 选项卡下的 脚本 中添加下述代码,用于将得到的PDF进行BASE64编码。

API_PDF15.png

<rsb:set attr="file.file" value="[FilePath]" />
<rsb:set attr="fileOut.filename" value="[FileName].xml" />
<rsb:call op="encEncode" in="file" out="out">
 <rsb:set attr="fileOut.data"><Item>
<fileBase64>[out.enc:encodeddata]</fileBase64>
</Item>
</rsb:set>
</rsb:call>
<rsb:push item="fileOut" />

b.向flow api 发送请求,即可获取文件内容。

API_PDF16.png

c.将fileBase64节点中的内容base64解码后另存为pdf文件即可。

三、扩展资源
  • Postman调用指南:使用Postman测试EDI系统API

阅读原文


http://www.kler.cn/a/567705.html

相关文章:

  • Github-介绍
  • 前缀和与差分算法
  • Jsonpath 使用说明
  • DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順
  • Grafana接入Zabbix数据源
  • 2025-03-01 学习记录--C/C++-PTA 7-35 有理数均值
  • 【AD】3-9 物料BOM表的设置与导出
  • js的数据代理机制
  • 一文速通C++非类型模板参数
  • Windows安装sql server2017
  • Arduino控制舵机
  • 前端Npm面试题及参考答案
  • SQL 中的 EXISTS 子句:探究其用途与应用
  • Yolo11实战:基于YOLOv11的半自动化数据标注技术实践
  • SCIKIT-LEARN 决策树实现csv文档简单的推论预测
  • C++:string类(简单介绍)
  • DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
  • 翻译: 深入分析LLMs like ChatGPT 一
  • MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享
  • 【STM32(HAL库) RTC】(实时时钟)配置