Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Передача файлов через форму

279
21 апреля 2007 года
bave
456 / / 07.03.2004
Допустим нужно передать .gif через форму, т.е. в форме есть:
<input type=file name="form1_pic" size=40 accept=image/gif>
--------------------------
В контенте от клиента приходит только путь (путь на винте) до картинки - и что с ним делать? - как картинку то получить?
---------------------------
Примечание: .cgi - обрабатывающий форму на C++.
4
21 апреля 2007 года
mike
3.7K / / 01.10.2002
Чтобы приходил не только путь к файлу, нужно поменять enctype у формы и читать данные из STDIN

 
Код:
<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
279
22 апреля 2007 года
bave
456 / / 07.03.2004
Мда..., посмотрел я, что в этом случае вытаскивается из stdin - придётся
внимательно и упорно читать RFC2388.
--------------------------
Вот это вот абра-кадабра передоваемая перед каждым параметром -
это вообще что?? - всмысле, эти симовлы ------ и комбинация цифр с буквами
 
Код:
-----------------------------7d7251191d0364
content-disposition: form-data; name="reg_login"

Bave
16K
22 апреля 2007 года
unplugged
21 / / 27.11.2006
И охота людям опять изобретать велосипед по ручному распарсиванию формы, тем более при методе POST...
В перле для этого есть банальный модуль CGI и еще куча готовых решений, в C++ наверняка тоже что-нить имеется.
Что ж,
Цитата:
Изобретение велосипедов не преследуется по закону, и если вы занялись этим процессом, то не стоит привлекать к нему остальных участников форума.


флаг в руки :)

92
23 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
аха, гугл лень спросить... надо всё самому написать :D
http://www.achacha.org/freeCGI/
279
23 апреля 2007 года
bave
456 / / 07.03.2004
Посмотрел исходники по ссылке выше - как я понял там парни сделали обработку форм, в которых enctype=application/x-www-form-urlencoded.
-------------------------------------------------------
Что касается multipart/data-form - почти со всем разобрался, но есть вещи которые не доходят до меня:
Заголовки отделяются от контента сиволами "\n\n", а вот начало
нового параметра или данных можно определить по началу нового заголовка, и всё бы ничего, но вот если использовать в форме
<INPUT type=file>, тогда все данные из тегов ниже вообще не приходят и более того, в конец передоваемых данных добавлется ещё какой-то "хвост" - т.е. посторонние произвольные байты как их то отделить от передоваемого файла не понятно. - Если кто-то сталкивался возможно подскажет решение, а пока я повыдумываю велосипед :)
------------------------------------------------------------
Судя по описанию multipart data форм в RFC в заголовках должен быть
ещё указан размер параметра: Content-Lenght: .... - а его там нефига нет. - почему? -может нужно ещё что в тегах формы указать?
279
24 апреля 2007 года
bave
456 / / 07.03.2004
Определил в чём проблема - но это достойно отдельной темы, т.к. тут я уже сам с собой разговариваю...
92
24 апреля 2007 года
Тень Пса
2.2K / / 19.10.2006
а зачем этот разговор вести?... просто есть же уже всё..

читай выше про велосипед...

осспади, ну не знаю что тебе уже и подсказать.... ну исходники апача посмотри чтоли.....
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог