7.TDDS File API

此接口可以为TDDS与TDDS Console之间传输大容量数据提供便利。接口分为上传接口和下载接口,使用时按如下结构准备数据。 ![FileApiProtocol.png](https://cos.easydoc.net/18319241/files/l0hlb47m.png) 如上图所示,数据分为长度区,数据类型,文件名,数据区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介绍中的消息结构解析数据。