|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Serge Chervjakov 2:5020/400 04 Feb 2004 23:46:18 To : All Subject : Трабл: передача двоичных файлов -------------------------------------------------------------------------------- Hi All, Возникла проблема. В скрипт: use CGI qw/:standard/; my $in=param('lala'); open(OUT,">ex1.xls"); binmode(OUT); while (<$in>) { print OUT $_; } close(OUT); передаю двоичный файл (конкретно: экселевский). Ожидается увидеть его в ex1.xls в неизмененом виде. Hо получается совсем по-другому: в нем заменяются \0 на пробел. Hу я ес-но в гугл, а там меня ощастливили: - --- Часто возникает проблема: "При закачке картинок 00 меняется на 20(пробел), соответственно картинка не смотрится..." Это следствие перекодирования http-сервером принимаемых данных. Если у Вас русский Apache, то эта проблема "лечится" выставлением директивы: CharsetRecodeMultipartForms off - --- Хуже всего то, что сами пробелы она в покое оставляет (иначе решение было бы очевидным:) ). Вопрос: есть ли возможность это излечить средствами perl и html? Hу ес-но доступа к апачу у меня нету, иначе бы не спрашивал:). Решение написать админу тоже напрашивается само собой, но он редиска отказывается что-либо менять:). --- ifmail v.2.15dev5.3 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/1667926e9abd1.html, оценка из 5, голосов 10
|