Deze routine word gebruikt in de Aquacontroller.
Haalt ongeveer 14kB/s. Maar kan wel 1.3MB grote bestanden aan.
void fileSend(String fileName) { SPIFFS.begin(); File thisFile = SPIFFS.open(fileName, "r"); if (!thisFile) { webClient.println("HTTP/1.1 404 Not found\r\n"); webClient.println("ERROR 404 - '" + fileName + "' was not found."); return; } //check the file's extention and tailor the header for that String httpHeader; if ( fileName.substring( fileName.length() - 4 ) == ".css" ) { httpHeader = "HTTP/1.1 200 \r\nContent-Type: text/css\r\n"; } else { httpHeader = "HTTP/1.1 200 \r\nContent-Type: text/html\r\n"; } httpHeader += "Content-Length: " + (String)thisFile.size() + "\r\n" ; webClient.println(httpHeader); int bufferSize = 512; char rwBuffer[bufferSize]; while ( thisFile.available() > bufferSize ) { for ( int bufferPos = 0; bufferPos < bufferSize; bufferPos++ ) { rwBuffer[bufferPos] = thisFile.read(); } webClient.write(rwBuffer, bufferSize); } //send last chunk int leftOver = thisFile.available(); for ( int bufferPos = 0; bufferPos < leftOver; bufferPos++ ) { rwBuffer[bufferPos] = thisFile.read(); } webClient.write(rwBuffer, leftOver); thisFile.close(); }