|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Pavel Reich 2:5004/75 12 Jun 2001 21:25:07 To : All Subject : Download.. --------------------------------------------------------------------------------
Вечная проблема....Мое решение таково:
Задача:сохранить файл на стороне клиента.
ДWindows ClipboardД
#!/usr/bin/perl
########################################
# Сохранение файла на стороне клиента. #
########################################
# Размер блока передачи
$blocksize=2**10;
#######################
$filename=$ENV{QUERY_STRING};
#временно
$filename='d:/music/ddt_1.mp3' unless ($filename);
(undef,$fname)=$filename=~m#(.*?/)*(.*)#;
print "Content-type: application/octet-stream\n";
print 'Content-Disposition: attachment; filename="'.$fname.'"'."\n";
open(FILE, "< $filename") or die "File not open: $!\n";
$len=-s FILE;
print "Content-Length: $len\n\n";
binmode (FILE);
binmode (STDOUT);
while (read(FILE, $buff, $blocksize)) {
print STDOUT $buff;
}
>print STDOUT EOF;
close (FILE);
close (STDOUT);
ДWindows ClipboardД
Вот самое сложное с print STDOUT EOF...Как быть? Если этой строки не будет,
сохраненные файлы будут нулевого размера.
У кого какие решения есть? Покидайтесь в мыло плиз...
Pavel
--- GoldED+/386 under The Doors at 25Reich_homeplace
* Origin: Сверхпотенциальный босс (2:5004/75)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/121563b268985.html, оценка из 5, голосов 10
|