Datei Up- und Download

Konfiguration

FileInfo

Eine Datei wird durch die folgende FileInfo Struktur beschrieben:

public class FileInfo { /// <summary> /// Gets or sets the unique identifier of an uploaded file. /// </summary> public string Id { get; set; } /// <summary> /// Gets or sets the meta class name of the table that owns this uploaded file. /// </summary> public string OwnerClass { get; set; } /// <summary> /// Gets or sets the primary key of the object within OwnerClass that owns this uploaded file. /// </summary> public string OwnerPrimaryKey { get; set; } /// <summary> /// Gets or sets the context to which this uploaded file belongs. Allows separation of files into groups on the same owner object. /// </summary> public string Context { get; set; } /// <summary> /// Gets or sets the file name. /// </summary> public string Name { get; set; } /// <summary> /// Gets or sets the length of the uploaded file. /// </summary> public long Length { get; set; } /// <summary> /// Gets or sets the upload timestamp. /// </summary> public DateTime UploadTimestamp { get; set; } /// <summary> /// Gets or sets the mime-type of the uploaded file. /// </summary> public string MimeType { get; set; } }

Für einige Funktionen reicht es aber aus, die eindeutige Id an die Schnittstelle zu übergeben. Die Id ist ein String zu dessen Struktur keine Annahmen getroffen werden dürfen.

Funktionen

Alle Funktionen sind unter der Basis-URL /api/v1/files verfügbar. Jede Funktion definiert darum nur noch die Erweiterung dieser URL.

Funktion

Beschreibung

Funktion

Beschreibung

FileInfo[] ListFileInfo(…)

GET on ?id=...&ownerClass=...&ownerPrimaryKey=...&context=...

Fordert eine Liste von FileInfo Objekten an, welche auf die angegebenen string Parameter passen. Gültige Kombinationen sind:

  • Id

  • OwnerClass, OwnerPrimaryKey [, Context]

void Update(FileInfo)

POST /updateFileInfo

Macht ein Update der File-Metadaten für das per FileInfo.Id identifizierte File anhand der Angaben in FileInfo. Wird z.B. verwendet um einen Upload mit einem Owner zu verbinden.

FileInfo Upload(IFormFile file)

POST

Startet den File-Upload. Am Ende wird eine (unvollständige) FileInfo Struktur zurück gegeben, welche dann per Update fertig ausgefüllt werden kann.

Stream Get(Id)

GET /download?id=...

Startet den Download der per Id identifizierten Datei

Delete(Id)

DELETE ?id=...

Löscht die per Id identifizierte Datei