Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: lwIP +httpd + отправка файла?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
PoReX
Доброго времени суток!
Не так давно начал разбираться с lwIP стеком и примером Web-сервера под STM3220. С SSI и CGI вроде все понятно, а вот как передать файл через этот же сервер, ума не приложу. Callback'ов как для SSI, CGI нету, остается потрошить сервер? Загвоздка в том, что нужно передать не статический файл, а создать его динамически из данных в SPI флешке.
Sagittarius
я бы воткнул свою функцию в чтение html-страниц из внутреннего флеша (fsdata.c) и если приходит запрос на чтение требуемого файла то выдавал то что требуется на основе SPI-флеши.
PoReX
Таки сделал отправку динамического файла. Необходимо было написать быстро и чтоб работало, так что простор для оптимизации естьsm.gif
В httpd.h введен
Код
#define LWIP_HTTPD_DYNAMIC_FILE
отвечающий за включение/отключение данной возможности.
В httpd_cgi_ssi.c добавлены callback функции:
Код
int DYNSizeHandler(const char *uri)   //Общий размер динамического файла
int DYNReadHandler(char * pBuffer,const char *uri,int MaxSize) //Чтение/генерация динамического файла в буфер

В папке с html станицами так же должен лежать файл нулевого размера, который далее будет динамически формироваться, например, "Archive.bin".
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.