SL::Controller::Base->send_file: neuer Parameter unlink zum Löschen nach Senden
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 12 Jun 2014 09:00:28 +0000 (11:00 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 12 Jun 2014 09:01:17 +0000 (11:01 +0200)
SL/Controller/Base.pm

index 4b27cd9..a233a0e 100644 (file)
@@ -157,6 +157,7 @@ sub send_file {
   if (!ref $file_name_or_content) {
     $::locale->with_raw_io(\*STDOUT, sub { print while <$file> });
     $file->close;
+    unlink $file_name_or_content if $params{unlink};
   } else {
     $::locale->with_raw_io(\*STDOUT, sub { print $$file_name_or_content });
   }
@@ -490,6 +491,10 @@ C<%params> can include the following:
 =item * C<name> -- the name presented to the browser; defaults to
 C<$file_name>; mandatory if C<$file_name_or_content> is a reference
 
+=item * C<unlink> -- if trueish and C<$file_name_or_content> refers to
+a file name then unlink the file after it has been sent to the browser
+(e.g. for temporary files)
+
 =back
 
 =item C<url_for $url>