|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Sapozhnikov 2:5020/400 26 Nov 2002 22:14:12 To : Artem Chuprina Subject : Re: post files -------------------------------------------------------------------------------- .ru> <slrnau4iih.fe4.ran@banquet.lan.ice.ru> .ru> <a6n4uus19ugd6p9fljj53o65497utge74c@4ax.com> .ru> <slrnau6tq8.hpl.ran@banquet.lan.ice.ru> From: Andrey Sapozhnikov <sapa@icb.chel.su> Согласно RFC 2388 (http://www.ietf.org/rfc/rfc2388.txt) достоверно отличить "файл" от "не-файла" не представляется возможным. Аттрибут filename к отправке не обязателен, поле Content-Type - тоже. Content-Disposition для всех полей один - form-data. В частных случаях определить тип передаваемого поля все-таки можно. Так например, если передается более одного файла в одном поле, то все файлы будут объединены в одну часть типа multipart/mixed (которая сама состоит из нескольких). В случае если передается аттрибут filename - это гарантировано указывает на то, что данное поле - файл. Практически же, я не знаю ни одного браузера который бы не передавал filename даже при оставленном пустом поле (хотя я знаю Lynx который просто не дает сабмитить форму пока это поле не заполнено корректным именем файла), равно как и не знаю браузера который позволял бы передавать несколько файлов в одном поле. Исходя из вышесказанного отличить пустое поле типа file от остальных на практике все таки можно. Hо модуль CGI не позволит этого сделать без внесения изменений ибо трактует пустой аттрибут filename как отсутствие такового. Андрей --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/657760e6ba50.html, оценка из 5, голосов 10
|