реклама на сайте
подробности

 
 
> lwIP +httpd + отправка файла?
PoReX
сообщение Apr 5 2012, 13:14
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Доброго времени суток!
Не так давно начал разбираться с lwIP стеком и примером Web-сервера под STM3220. С SSI и CGI вроде все понятно, а вот как передать файл через этот же сервер, ума не приложу. Callback'ов как для SSI, CGI нету, остается потрошить сервер? Загвоздка в том, что нужно передать не статический файл, а создать его динамически из данных в SPI флешке.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Sagittarius
сообщение Apr 8 2012, 18:12
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 207
Регистрация: 26-01-06
Из: СПб
Пользователь №: 13 659



я бы воткнул свою функцию в чтение html-страниц из внутреннего флеша (fsdata.c) и если приходит запрос на чтение требуемого файла то выдавал то что требуется на основе SPI-флеши.

Сообщение отредактировал IgorKossak - Apr 9 2012, 07:20
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 12 2012, 14:07
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Таки сделал отправку динамического файла. Необходимо было написать быстро и чтоб работало, так что простор для оптимизации есть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".

Сообщение отредактировал PoReX - Apr 12 2012, 14:09
Прикрепленные файлы
Прикрепленный файл  httpd_dynfile.zip ( 28.97 килобайт ) Кол-во скачиваний: 36
 


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016