20 #include "../../../include/esp3d_config.h"
21 #if defined (HTTP_FEATURE) && defined(FILESYSTEM_FEATURE)
22 #include "../http_server.h"
23 #if defined (ARDUINO_ARCH_ESP32)
24 #include <WebServer.h>
25 #endif //ARDUINO_ARCH_ESP32
26 #if defined (ARDUINO_ARCH_ESP8266)
27 #include <ESP8266WebServer.h>
28 #endif //ARDUINO_ARCH_ESP8266
29 #include "../../filesystem/esp_filesystem.h"
30 #include "../../authentication/authentication_service.h"
32 void HTTP_Server::FSFileupload ()
36 static String filename;
43 HTTPUpload& upload = _webserver->upload();
44 String upload_filename = upload.filename;
48 if (upload.status == UPLOAD_FILE_START) {
50 if (upload_filename[0] !=
'/') {
51 filename =
"/" + upload_filename;
53 filename = upload.filename;
59 if (fsUploadFile.
isOpen() ) {
62 String sizeargname = upload.filename +
"S";
63 if (_webserver->hasArg (sizeargname.c_str()) ) {
65 size_t filesize = _webserver->arg (sizeargname.c_str()).toInt();
66 if (freespace < filesize ) {
86 }
else if(upload.status == UPLOAD_FILE_WRITE) {
90 if(upload.currentSize != fsUploadFile.
write(upload.buf, upload.currentSize)) {
101 }
else if(upload.status == UPLOAD_FILE_END) {
105 fsUploadFile.
close();
107 String sizeargname = upload.filename +
"S";
109 uint32_t filesize = fsUploadFile.
size();
111 if (_webserver->hasArg (sizeargname.c_str()) ) {
112 if (_webserver->arg (sizeargname.c_str()) != String(filesize)) {
137 fsUploadFile.
close();
146 #endif //HTTP_FEATURE && FILESYSTEM_FEATURE