数字组织与数据
处理文件和图片
文件不放在 json 里,而挂在同一项的 binary 上,用一个名字区分,例如 invoice 或 photo。节点之间传的是这个槽位,不是把文件正文塞进字段。
binary 里有哪些信息
一个名字对应一份文件。名字是你或节点起的,下一步靠这个名字来取。文件内容在 data 里,以 base64 存放。旁边还有 mimeType、fileName、fileExtension,用来告诉后面的节点这是什么类型、该用什么文件名。
"binary": {
"invoice": {
"data": "<base64>",
"mimeType": "application/pdf",
"fileName": "invoice.pdf",
"fileExtension": "pdf"
}
}用现成的节点,不要自己拼 base64
- Convert to File:把文本、JSON、表格转成文件,放进 binary。
- Extract From File:从 binary 里的文件读回表格或文本。
- Read/Write Files from Disk:自托管时读写本机磁盘。云端没有你的磁盘。
- 压缩、改图、HTML、XML、FTP 各自有对应节点,输入输出仍然走 binary 槽位。
自托管还可以单独配置二进制数据存在哪里。那是实例的存储方式,不是某一项 json 里的字段。换存储不会改变节点里引用的名字。
和固定、隐藏执行数据的关系
输出里只要带了 binary,这一步就不能固定。调试文件类节点时,需要每次真的跑出文件,或者在更前面用不含文件的数据把逻辑走通。
执行数据被隐藏时,binary 会从记录里拿掉。打开执行看不到文件内容。这不影响运行当时节点已经把文件交给下一步或外部系统。
常见问题
Duaer 把文件放在数据项的哪里?
Duaer 不把文件放在 json 里。文件挂在同一项的 binary 上,用一个名字区分,例如 invoice。文件内容在 data 里以 base64 存放,并带有 mimeType、fileName 和 fileExtension。下一个节点按这个名字取文件。
带 binary 的 Duaer 节点输出能不能固定?隐藏执行数据时文件还在吗?
带 binary 的 Duaer 节点输出不能固定。隐藏执行数据时,binary 会从执行记录里去掉,打开记录看不到文件。这不撤销运行当时节点已经把文件交给下一步或外部系统。
同组