> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/data/binary-data.md).

# 在 Duaer 里处理文件和图片

理解并使用 Duaer 里的二进制数据。
二进制数据是文件类数据，例如图片或文档。文件不放在 json 里，而挂在同一项的 binary 上，用名字区分，例如 invoice。

```
"binary": {
	"invoice": {
		"data": "<base64>",
		"mimeType": "application/pdf",
		"fileName": "invoice.pdf",
		"fileExtension": "pdf"
	}
}
```

## 在数字组织里处理二进制数据 <a href="#working-with-binary-data" id="working-with-binary-data"></a>

可用节点，也可用代码。常用节点：

- Convert to File：把文本、JSON、表格转成文件写入 binary。
- Extract From File：从 binary 文件读回表格或文本。
- Read/Write Files from Disk：自托管时读写本机磁盘。云端没有你的磁盘。
- 另有 HTML、XML、Compression、Edit Image、FTP 等，仍走 binary 槽位。

## 自托管时配置二进制存储 <a href="#configure-binary-data-mode-when-self-hosting" id="configure-binary-data-mode-when-self-hosting"></a>

自托管可用环境变量选择二进制数据存哪里。例如 DUAER_DEFAULT_BINARY_DATA_MODE（default 表示内存，filesystem / s3 / azure / database 表示对应存储），以及 DUAER_BINARY_DATA_STORAGE_PATH、DUAER_AVAILABLE_BINARY_DATA_MODES。

换存储不会改变节点里引用的 binary 名字。输出含 binary 时不能固定；隐藏执行数据时 binary 会从记录里拿掉。
## Questions

### 文件放在数据项的哪里？

在 Duaer 里，不在 json 里，而在同一项的 binary 下，用名字区分。内容在 data（base64），并带 mimeType、fileName、fileExtension。

### 自托管怎么选二进制存储？含 binary 的输出能固定吗？

在 Duaer 里，用 DUAER_DEFAULT_BINARY_DATA_MODE 等环境变量选择内存、文件系统或外部存储。含 binary 的输出不能固定；隐藏执行数据时 binary 会从记录里拿掉。

