esp-01s передача image
- Войдите на сайт для отправки комментариев
Вс, 21/03/2021 - 23:15
делаю web сервер, файлы сервера отлажены и залил во флеш
HTML, CSS нормально грузятся, проблема с png
void out_page_file(WiFiClient* client, char* FileName, char* Content) { File f = SPIFFS.open(FileName, "r"); if (!f) { out_404(client); } else { client->print(F( "HTTP/1.1 200 OK\r\n" "Cache-Control: max-age=31536000\r\n" "Content-Type: ")); client->print(Content); client->print(F( "\r\n\r\n" "\r\n")); while (f.available()) { client->write(f.read()); } f.close(); } }
Content равен "image/png", вот возвращается заголовокHTTP/1.1 200 OK
HTTP/1.1 200 OK Cache-Control: max-age=31536000 Content-Type: image/png Cache-Control: max
нормальный ответ с сервера на котором отлаживал
HTTP/1.1 200 OK Date: Sun, 21 Mar 2021 18:03:49 GMT Server: Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.5.24 Last-Modified: Sat, 20 Mar 2021 19:32:17 GMT ETag: "5c3-5bdfce3f6dba4" Accept-Ranges: bytes Content-Length: 1475 Content-Type: image/png
а -age=31536000 Content-Type: image/png
вероятно проблема в отсутствии Content-Length: только я не соображу как его заполнить в моем случае.
https://www.arduino.cc/en/Reference/FileSize
Может ещё EOF посылать нужно?
читаю, можно без длинны если в заголовке использовать
Transfer-Encoding: chunked
а в конце закрывать.
но не работает... вообще в браузере ответ такой
data:image/png;base64,
то есть он думает, что ему вернули base64 но далее пусто...
заработало