Page 1 of 2
Http post file (multipart).
Posted: Wed Jun 13, 2018 11:25 am
by snahmad75
Hi,
Http post file (multi part) is not implemented.
HttpServer class does not support file post.
Have any one implement its own.
class MyMultiPart is commented out in
https://github.com/nkolban/ESP32_Explorer
Thanks,
Naeem
Re: Http post file (multipart).
Posted: Thu Jun 14, 2018 10:39 am
by snahmad75
Sending large file cause stack overflow. I guess HttpServer does not handle multi-part.
D (1451808) HttpServerTask: HttpServer that was listening on port 80 has received a new client connection; sockFd=4098
D (1451819) HttpParser: >> parse: socket: fd: 4098
D (1451825) HttpParser: >> parseRequestLine: "POST /upload_file HTTP/1.1" [26]
D (1451831) HttpParser: << parseRequestLine: method: POST, url: /upload_file, version: HTTP/1.1
Guru Meditation Error: Core 0 panic'ed (Unhandled debug exception)
Debug exception reason: Stack canary watchpoint triggered (HttpServerTask)
Backtrace: 0x4000c350:0x3ffcf300 0x401436ab:0x3ffcf310 0x4013d2f9:0x3ffcf330 0x4013db3d:0x3ffcf3b0 0x4013dbae:0x3ffcf3e0 0x4010c753:0x3ffcf400 0x4010f9fe:0x3ffcf430 0x4010d82a:0x3ffd4080 0x40109e2a:0x3ffd4310 0x4010c2a0:0x3ffd4420
0x401436ab: pbuf_copy_partial at C:/Work/LibDev/esp32/esp-idf/components/lwip/core/pbuf.c:1247
0x4013d2f9: lwip_recvfrom at C:/Work/LibDev/esp32/esp-idf/components/lwip/api/sockets.c:1814
0x4013db3d: lwip_recvfrom_r at C:/Work/LibDev/esp32/esp-idf/components/lwip/api/sockets.c:1814
0x4013dbae: lwip_recv_r at C:/Work/LibDev/esp32/esp-idf/components/lwip/api/sockets.c:1814
0x4010c753: Socket::receive(unsigned char*, unsigned int, bool) at C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/Socket.cpp:245
0x4010f9fe: HttpParser::parse(std::shared_ptr) at C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/HttpParser.cpp:219
0x4010d82a: HttpRequest::HttpRequest(std::shared_ptr) at C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/HttpRequest.cpp:98
0x40109e2a: HttpServerTask::run(void*) at C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/HttpServer.cpp:323
0x4010c2a0: Task::runTask(void*) at C:/Work/LibDev/esp32/esp-idf/components/cpp_utils/Task.cpp:59
Re: Http post file (multipart).
Posted: Thu Jun 14, 2018 3:59 pm
by snahmad75
Can any one answer this thread. I am struggling handling upload file.
Any free open source to parse multipart/form http post request and extract file content.
Re: Http post file (multipart).
Posted: Mon Jun 18, 2018 9:22 pm
by snahmad75
WebServer c++ class which is based on mongoose handle multi-part http request. it works.
I need same functionality in HttpServer class. Can any one suggest where i can get buffer with file content with multiple request.
and pass to my Multi-part parser.
Wireshark is not helping. it does not shows upload file content chunk by chunk for unsecured http.
Re: Http post file (multipart).
Posted: Fri Oct 05, 2018 6:12 pm
by dinosauria123
Any progress ?
I am also interesting about it.
Re: Http post file (multipart).
Posted: Sat Oct 06, 2018 11:17 am
by snahmad75
I am using Mongoose web server. It is working good.
Re: Http post file (multipart).
Posted: Tue Oct 09, 2018 7:32 am
by dinosauria123
Thank you for your comment.
Did you just copy mongoose.c and mongoose.h files to your build tree ?
Did you have uploaded your code somewhere ?
I try to upload jpag data from M5camera to my Node-RED server.
I could post partial base64 data to sever, but the base64 data is too big,
I need multipart upload.....
Re: Http post file (multipart).
Posted: Tue Oct 09, 2018 1:06 pm
by snahmad75
I am using Kolban c++ class.
https://github.com/nkolban/esp32-snippe ... Server.cpp which encapsulate mongoose.
I tweak few things. by and large. It is same as above.
Multipart upload works for me.
Try first above class. It not working I can share my modified version of WebServer.cpp and WebServer.ch
Thanks,
Naeem
Re: Http post file (multipart).
Posted: Tue Oct 09, 2018 11:33 pm
by dinosauria123
Thank you for the link.
I will add mongoose codes to my project.
Here's my M5Camera code without POST. (article written in Japanese)
https://qiita.com/dinosauria123/items/c ... 23dc916609
Thank you again for your helps !
Re: Http post file (multipart).
Posted: Fri Oct 12, 2018 1:09 am
by dinosauria123
I found two API http_response_begin_multipart(), http_response_end_multipart() in esp32-http-server.
https://github.com/igrr/esp32-http-server/
This may help implement http multipart.