我试图读取SD卡上的大文件并将其发送到连接到Web服务器的客户端。对于服务器我使用ESP8266WebServer.h
到目前为止,对我有用的唯一选择是:
httpServer.sendHeader("Content-Type", "text/text");
httpServer.sendHeader("Content-Disposition", "attachment; filename=\"download.txt\"");
httpServer.sendHeader("Connection", "close");
File download = SD.open("test.txt");
String buffer = download.readString();
httpServer.send(200, "text/text", buffer);
download.close();
这对我来说不可用,因为该文件不适合堆栈。有没有办法不断向客户发送数据?我已经尝试了httpServer.sendContent(),但发送的数据只显示为网页内容,send()在第一次数据发送后关闭连接。
编辑:
示例中的解决方案
httpServer.streamFile(download, "application/octet-stream");