diff --git a/examples/SD-Updater/src/ESP32FtpServer.cpp b/examples/SD-Updater/src/ESP32FtpServer.cpp index 5af1039..9a544c5 100644 --- a/examples/SD-Updater/src/ESP32FtpServer.cpp +++ b/examples/SD-Updater/src/ESP32FtpServer.cpp @@ -713,7 +713,7 @@ boolean FtpServer::processCommand() client.println( "501 No file name"); else if( makePath( path )) { - file = SD.open(path, "r"); + File file = SD.open(path, "r"); if(!file) client.println( "450 Can't open " +String(parameters) ); else @@ -784,12 +784,14 @@ boolean FtpServer::doStore() { if( data.connected() ) { - int16_t nb = data.readBytes((uint8_t*) buf, FTP_BUF_SIZE ); - if( nb > 0 ) - { - // Serial.println( millis() << " " << nb << endl; - file.write((uint8_t*) buf, nb ); - bytesTransfered += nb; + for (;;) { + int16_t nb = data.readBytes((uint8_t*) buf, FTP_BUF_SIZE ); + if( nb > 0 ) + { + // Serial.println( millis() << " " << nb << endl; + file.write((uint8_t*) buf, nb ); + bytesTransfered += nb; + } else break; } return true; } diff --git a/examples/SD-Updater/src/ESP32FtpServer.h b/examples/SD-Updater/src/ESP32FtpServer.h index 2c267a8..375d11f 100644 --- a/examples/SD-Updater/src/ESP32FtpServer.h +++ b/examples/SD-Updater/src/ESP32FtpServer.h @@ -46,7 +46,7 @@ #define FTP_CMD_SIZE 255 + 8 // max size of a command #define FTP_CWD_SIZE 255 + 8 // max size of a directory name #define FTP_FIL_SIZE 255 // max size of a file name -#define FTP_BUF_SIZE 1024 //512 // size of file buffer for read/write +#define FTP_BUF_SIZE 512 // size of file buffer for read/write class FtpServer {