On Sun, 6 Jul 1997, Alex Tutubalin wrote:
> Hi!
>
> Правильно ли я понимаю, что
>
> а) user input нужно перекодировать только в случае, если Content-Type:
> text/plain или x-urlencoded ?
Привет, Алекс, смотри:
Делаю я www.krovatka.ru/~art/upload/ Заполняю, ок, она тебе - print $raw_data;
Результат - чуть ниже. Так вот, в теле отправляемой формы может быть
только Content-Disposition: form-data; , а Content-Type есть только
общий, который, собственно, и есть multipart/form-data;
а часть, где идет uploadennый файл отличается только наличием filename=...
-----------------------------248221151724439
Content-Disposition: form-data; name="Текст1"
Фу
-----------------------------248221151724439
Content-Disposition: form-data; name="Текст2"
вап
-----------------------------248221151724439
Content-Disposition: form-data; name="SelectName"
Это2
-----------------------------248221151724439
Content-Disposition: form-data; name="SelectName"
Это3
-----------------------------248221151724439
Content-Disposition: form-data; name="UploadedFile"; filename="xmm"
%DE%DE%DE
-----------------------------248221151724439
Content-Disposition: form-data; name="Button"
Нажми Press
-----------------------------248221151724439--
> б) в случае form-multipart (он же file upload у netscape) политически
> правильным является разбор каждой части и перекодировка только частей с
> Content-Type: text/... ?
То есть, смотри, надо перекодировать multipart/form-data, где нет ";
filename=" по направлению "туда", потому как у меня (Solaris, NS 3.01)
броузер не шлет с каждой частью ее Content-Type: , а жаль... :-/ Вернее,
он отсылает Content-Type для "UploadedFile", но только тогда, когда знает
сам этот Content-Type (image/gif для gif или еще там что-то...)
Это совершенно политически неправильно, но что делать...
Самый интересный вопрос в таком случае - что делать с перекодировкой,
если uploadишь .html? Тогда в начале этой части multipart'а будет:
Content-Disposition: form-data; name="UploadedFile"; filename="top.html"
Content-Type: text/html
а вот надо ли его перекодировать?
Что касаемо направления "к клиенту" -
x-url и text/*
больше вроде бы и ничего не надо...
P.S> Кстати, проверять лень, но вот еще: если я делаю в заголовке:
Location: /mycgi.cgi?%AB%54%EE
Перекодируется?
Ну счастливо,
o Artem art@radio-msu.net
/O> Podstreshny MSU Moscow Russia
|\ Good luck! http://www.radio-msu.net/~art/
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.