Multiuploadfähigkeit
authorSven Schöling <s.schoeling@linet-services.de>
Mon, 6 Feb 2012 19:17:11 +0000 (20:17 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Mon, 6 Feb 2012 19:17:11 +0000 (20:17 +0100)
Jeder Upload ist unter seinem Requestpfad als reine Datenstruktur
erreichbar, und ausserdem unter $target->{ATTACHMENT} als deskriptive Struktur
mit Metainformationen.

SL/Request.pm

index dab5745..38dfc1f 100644 (file)
@@ -106,11 +106,18 @@ sub _parse_multipart_formdata {
         $previous                = _store_value($filename ? $target : $temp_target, $name, '') if ($name);
         $temp_target->{FILENAME} = $filename if ($filename);
 
+        # for multiple uploads: save the attachments in a SL/Mailer like structure
+        if ($name && $filename) {
+          _store_value($target, "ATTACHMENTS.$name.data", $previous);
+          _store_value($temp_target, "ATTACHMENTS.$name.filename", $filename);
+        }
+
         next;
       }
 
       if ($line =~ m|^content-type\s*:\s*(.*?)[;\$]|i) {
         $content_type = $1;
+        _store_value($temp_target, "ATTACHMENTS.$name.content_type", $1);
 
         if ($content_type =~ /^text/ && $line =~ m|;\s*charset\s*:\s*("?)(.*?)\1$|i) {
           $encoding = $2;