Leser: 20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
### read file and send my $file_size = -s qq{./.tmp/$dir/$file}; print CGI::header({ 'content-type' => 'application/zip', 'content-length' => $file_size, 'content-disposition' => qq{attachment; filename=$file} }); open my $ZIP, qq{./.tmp/$dir/$file} or do { $self->_generate_response({ code => 500, message => qq{file $file not found: $!}, }); return; }; my $buffer; while(read $ZIP,$buffer,16384) { print $buffer; } close $ZIP;
Guest dudeHi Leute,
ich habe eine temporäre Datei die eingelesen werden muss um anschließend an den Browser gesendet zu werden.
Wie mache ich das am elegantesten? Mit einer while Schleife? Am liebsten wäre es mir, die ganze Datei komplett einzulesen und dann auszugeben (Tests ergaben vor einiger Zeit dann eine sehr viel höhere Downloadgeschwindigkeit). Die Dateien sind um die 100 MB groß.