# Bild hochladen

<!-- last_modified: 22. Dec 2015 -->
Diese Aktion verschiebt eine hochgeladene Datei in die Dateiverwaltung. Dabei ist es wichtig, dass im Upload-Formular enctype="multipart/form-data" gesetzt ist.

## Parameter

| | |
|--|--|
| **fileparam** | gibt den Request-Parameter an, der die hochgeladene Datei enthält |
| **folderid** | falls das Bild in einen bestimmten Ordner der Bildergallerie gespeichert werden soll, kann hier die ID des Ordners angegeben werden |
| **folderparam** | eine Alternativmöglichkeit um das Bild in einen bestimmten Ordner zu speichern, die ID wird aus dem hier angegebenen Request-Parameter ausgelesen (Standard-Parametername ist "folderid") |
| **folderpath** | die dritte Möglichkeit zur Angabe des Ordners, hier wird der Name des Ordners angegeben |
| **targetweb** | um das Bild in ein anderes Projekt/Web zu speichern, hier die ID des Webs angeben |
| **titel** | mit diesem Parameter kann der Titel des Bildes festgelegt werden |
| **titelparam** | um den Titel aus einem Request-Parameter auszulesen, hier den Parametername angeben |
| **autor** | hiermit kann der Autor des Bildes direkt festgelegt werden |
| **autorparam** | der Autor kann alternativ auch über einen Parameter angegeben werden |

## Bemerkungen

Bei Werten, die durch verschiedene Parameter festgelegt werden können, gilt folgende Reihenfolge der Überprüfung (es wird dabei abgebrochen, sobald ein Wert gefunden wurde):

- **Ordner**: `folderid` -> `folderparam` (wenn nicht angegeben, dann Standardwert "folderid") -> `folderpath`
- **Titel**: `titel` -> `titelparam`
- **Autor**: `autor` -> `autorparam`

In den Metadaten des Bildes werden unter "uploader" und "author" der eingeloggte Benutzer (falls er eingeloggt ist) sowie unter "uploaderIP" die IP des Uploaders eingetragen.

## Multi-Upload (ab V 2.6.3)

Mehrere Bilder werden gleichzeitig mit HTML5 über ein Multiupload hochgeladen und in einem verknüpften Container gespeichert.
**Achtung**! Da die Bilder im Hintergrund gespeichert werden, muß es schon einen Eltern-Datensatz geben, d.h., der Upload-Actionbaustein kommt nach dem Speicher-Actionbaustein.

| | |
|--|--|
| url | weiterleitende URL (z. B. zu einem Save-Action) |

**Beispiel**

**Detailseite**

```xml
<form action="send.act" method="post" enctype="multipart/form-data">
  ...
  <input name="Bilder" type="file" multiple>
  <input type="submit">
</form>
```

**Formular bauen**, file-input-Feld muß den Parameter `multiple` haben

**Action bauen**: der Upload-Actionbaustein kommt nach dem Speicher-Actionbaustein

Angaben beim Upload-Actionbaustein:

- bei `fileparam` muß "Bilder" stehen (Name im Formular)
- bei `Scriptausführung je Bild: (url)` steht die Weiterleitung zu einem Speicheraction, das die einzelnen Bilder im Untercontainer speichert, z.B. `/www/beispielweb/menupunkt/savePic.act?Bild\=[[Bilder]]&Datum\=[[Datum]]&Bildergalerie\=[[galerieID]]`
  Im anschließenden savePic.act wird in einem Bildercontainer das Bild mit Bildergalerie-Verknüpfung(Elterndatensatz-Verknüpfung) und Datum gespeichert