7.TDDS File API
此接口可以为TDDS与TDDS Console之间传输大容量数据提供便利。接口分为上传接口和下载接口,使用时按如下结构准备数据。

如上图所示,数据分为长度区,数据类型,文件名,数据区4个区域。前三个区域长度固定,数据区长度按实际需求定义。具体说明如下表:
|区域|长度(Byte)|说明
|---|---|---
|长度区|4|数据区长度转换为32位无符号整数的byte数组(大端模式)
|数据类型|2|指示此数据的类型
|文件名|64|文件名称,仅支持最长64个英文、数字或连字符(-)及下划线(_)
|数据区|按需|实际数据
目前支持的数据类型有以下几种:
|数据类型|类型值|说明
|---|---|---
|UNKNOWN|0|未知
|RGB|1|RGB图像的像素数据
|RGBA|2|RGBA图像的像素数据
|BGR|3|BGR图像的像素数据
|BGRA|4|BGRA图像的像素数据
|TXT|5|文本数据(UTF8编码)
|其它数据类型按需定义
使用方式如下:假设有一份名为image123,分辨率为256*256的BGR格式图像数据需要发送,首先准备数据区,长度应为256\*256\*3=196608。将其转换为32位无符号整数的byte数组:
```
0x00,0x03,0x00,0x00
```
数据类型BGR对应3,转换为16位无符号整数的byte数组:
```
0x00,0x03
```
文件名**image123**按UTF8编码,将byte数组填入长度为64的byte数组头部:
```
0x69,0x6D,0x61,0x67,0x65,0x31,0x32,0x33
```
拼接以上三部分数据,在尾部填入数据字节数据:
```
0x00,0x03,0x00,0x00,0x00,0x03,0x69,0x6D,0x61,0x67,0x65,0x31,0x32,0x33,[长度为196608的像素数据]
```
将上述数据写入接口即可发送。接收数据时按以上步骤解析数据信息即可。
# 7.1 File Upload API
### API URL:/file/upload
完整Url示例:
ws://192.168.123.123:2626/file/upload
**说明**
在此接口上传数据不会接收到任何响应,数据理论长度为uint.MaxValue=4294967295,但建议使用时单次发送数据量不要超过10M,数据量过大时可分块发送。
# 7.2 File Download API
### API URL:/file/download
完整Url示例:
```
ws://192.168.123.123:2626/file/download
```
**说明**
不建议在此接口上发送任何数据。使用时应按API介绍中的消息结构解析数据。