При файле весом менее 50КБ всё работает отлично, но если размер файла превышает 50КБ то ESP32 уходит в перезапуск, на иностранных форумах нашёл информацию, что ESP32 не может передавать файлы выше 50КБ из-за ограничений с памятью.
Подскажите как решить данную проблему и передать пользователю файл размером в 300КБ?
Это не так. Она-то может, это программисты, вроде Вас и того, кто это писал, не могут. Видимо, из-за ограничений с чем-нибудь.
Вот скажите мне, на кой йух Вы читаете файл с SD целиком в память, а только потом передаёте? А если он будет не 300к, а 300G? Кто мешает передавать его по мере чтения побайтово?
Так я и создал тему, что бы спросить совета, через что нужно реализовать передачу, в обход внутренней памяти, а не для того что бы слушать пуки в лужу от чуваков, который просто оскорбляет всех на форуме, за три темы, что я создал, ни одного дельного совета не услышал, кроме оскорблений.
похоже для вас это вообще “не вариант” , вы ответов не понимаете, только обижаетесь попусту
Передать файл по частям не значит передать несколько файлов
Вы меня имеет в виду? Впрочем, неважно, я отвечу за всех.
Если что , я дал Вам абсолютно внятный ответ, который полностью решает проблему (и кстати именно так серьёзные серверы передают гига- и терабайтовый файлы):
Если Вы Вы не поняли этого ответа (из-за ограничений с чем-нибудь), то тогда да, Вы правы, мы - дауны, ибо только дауны могут пытаться что-то серьёзно писать человеку, не умеющему читать и понимать прочитанное.
И, да, ещё
Да, должны! Не хотите выслушивать ответы - не задавайте вопросы. Вас никто за язык не тянул, сами задали.
ТС, у тебя плата ЕСП32 в вопросе, а в коде написано включение библиотек от ЕСП8266, это оттого, что ты идиот, или случайно вышло?
Допустим речь про ЕСП32 и его встроенный веб-сервер, построенный на АсинкВебСервер.
Он НЕ СОДЕРЖИТ готового метода для отправки большого файла с СД карты или ЛитлФС или любой ФС. Можно долго писать - почему так вышло, кто в этом виноват и как его наказать, но такого метода там нет.
Но есть и хорошие новости!!! Эта библиотека имеет таки метод для отправки клиенту большого файла, сколь угодно большого, но из прогмема (для есп32 это просто флеш) а не из файловой системы. То есть JS файл нужно написать как PGM константу внутри какого-нибудь .h - файла. И спокойно её отправлять.
Чем качать отсутствующие права на форумах - нужно учиццо+учиццо и еще раз учиццо!
Как-то я забыл написать еще одну, совершенно фантастическую альтернативу. Можно создать свой класс веб сервера, унаследовав его от штатного, и там добавить метод для отправки большого файла прям из файловой системы. Памятник из ценного металла на родине героя и любовь шир-нар-масс обеспечены! Цветы, девушки и все эти вещи!