|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Dmitry A. Nikitin 2:5020/400 01 Jul 2004 13:13:48 To : All Subject : Как бы это сделать грамотно. -------------------------------------------------------------------------------- Есть скриптик который выгружает на клиентские машины файлики. Вида http://url/cgi-bin/download.cgi?id=какой-то_номер Реально они лежат на http://url/download/, но по понятным причинам доступ на просмотр закрыт. Отдаю файлики так: ... $file_lenght = -s $full_name; $file = basename $full_name; open IN, "<$full_name" || die($!); print header(-type=>'application/octet-stream', -Content_Disposition => "attachment; filename=\"$file\"", -Content_length=>"$file_lenght"); binmode STDOUT; binmode IN; while(<IN>){ print ; } close IN; ... И всё бы ничего, но есть одно HО. Первым делом вылезает окошко. Сайт предложил обрабатывать "$file" как вложение. Его тип application/octet-stream, он расположен по адресу http://url/cgi-bin/ И сразу начинает сливать его в сеть, а если он 500Мб или более. Если юзверь откажется его принимать, то зачем лишний трафик? Потом окошко как и куда сохранить. Как бы сделать что бы спрашивалось как и куда сохранять и стоял правильный урл откуда? -- mailto:dmitry@sbor.spb.su http://dmitry.home.sbor.net ftp://dmitry.home.sbor.net --- ifmail v.2.15dev5.3 * Origin: Home Inc. (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/186636c2dacf0.html, оценка из 5, голосов 10
|