Как читать бинарные файлы?
- Войдите на сайт для отправки комментариев
Ср, 26/06/2019 - 16:38
Создал веб сервер на ESP32 и заметил, что с помощью
File page = SD.open(server.uri(), FILE_READ); while (page.available() > 0) { page_a = page_a + page.read(); } page.close();
картинки читаются, но не правильно. Просматривал содержимое через NotePad++. В оригинале много строк и разных символов, а в принятом через браузер, пару символов, остальное заполненно NULL. Что делать?
как описана переменная page_a
String
Ну, а чего Вы хотите? String - для строк, а не для бинарных данных.
Создал веб сервер на ESP32 и заметил, что с помощью
картинки читаются, но не правильно. Просматривал содержимое через NotePad++. В оригинале много строк и разных символов, а в принятом через браузер, пару символов, остальное заполненно NULL. Что делать?
Зачем читать в промежуточную переменную, если можно выплёвывать сразу в поток? Как думаете - ютюб так же делает: запросили у него видос размером гигабайт 100 на диске - он его в переменную вычитывает, и только потом отдаёт?
В вашем случае: запросили файл у сервера - отдавайте прямо из файла в выходной поток, всё.
Не работает
А допустимы ли в HTML бинарные данные? Законно ли это вообще?
Не работает
если не ошибаюсь, этим кодом вы КАЖДЫЙ БАЙТ, прочитанный из файла - отправляете в сеть отдельным ответом. Не удивительно, что не работает....
Я знаю, я и не собирался.
Я знаю, я и не собирался.
это кому?
Когда отвечаете - нажимайте кнопку "цитировать", а то не всегда понятно, к чему относится ответ
Я знаю, я и не собирался.
это кому?
Когда отвечаете - нажимайте кнопку "цитировать", а то не всегда понятно, к чему относится ответ
Понял. Я имел ввиду, что я и не собирался это компилить.
Я имел ввиду, что я и не собирался это компилить.
Тогда зачем в форум выкладывали? И откуда узнали, что оно "не работает"?
Это троллинг7
Я имел ввиду, что я и не собирался это компилить.
Тогда зачем в форум выкладывали? И откуда узнали, что оно "не работает"?
Это троллинг7
Ну ошибся я. Хотел написать: Так что-ли? Это не работает.
Хотел написать: Так что-ли? Это не работает.
слушайте, да откуда вы узнали, что это не работает? У вас же свои знания на нуле
Нафига мы тут распинаемся, если вы просто взглянули на код и уже знаете, что работать не будет? Может вам стоит самому свою проблему решить в таком случае?
У класса WebServer для ESP32 есть метод:
Вот тут можно почитать, как юзать (какой-то issue, не вникал): https://github.com/esp8266/Arduino/issues/3966
Спасибо, попробую