logologo
Start
Handbuch
Entwicklung
Plugins
API
Startseite
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Handbuch
Entwicklung
Plugins
API
Startseite
logologo
Überblick

Datenquellen

Datenquellenverwaltung
Hauptdatenquelle

Externe Datenquellen (Datenbank)

Einführung
Externes MySQL
Externes MariaDB
Externes PostgreSQL
Externes MSSQL
Externes Oracle
Vergleich: Haupt- vs. externe Datenbank
REST-API-Datenquelle
KingbaseES-Datenquelle

Datentabellen

Überblick
Standardtabelle
Geerbte Tabelle
Dateitabelle
Baumtabelle
Kalendertabelle
Kommentartabelle
Ausdruckstabelle
SQL-Tabelle
Datenbank-Views

Tabellenfelder

Überblick
Feldvalidierung

Grundtypen

Einzeiliger Text
Mehrzeiliger Text
Telefonnummer
E-Mail
URL
Ganzzahl
Zahl
Prozent
Passwort
Farbe
Icon

Auswahltpyen

Checkbox
Dropdown (Einzelauswahl)
Dropdown (Mehrfachauswahl)
Radio-Button
Checkbox-Gruppe

Multimedia

Markdown
Markdown (Vditor)
Rich Text
Anhang (Beziehung)
Anhang (URL)

Datum & Uhrzeit

Überblick
Datum/Uhrzeit (mit Zeitzone)
Datum/Uhrzeit (ohne Zeitzone)
Unix-Zeitstempel
Datum (ohne Uhrzeit)
Uhrzeit

Geometrie

Punkt
Linie
Kreis
Polygon

Erweiterte Typen

UUID
Nano ID
Sortierung
Formel
Automatische Nummerierung
JSON
Tabellenauswahl
Verschlüsselung

Systeminformationen

Erstellungsdatum
Änderungsdatum
Erstellt von
Geändert von
Bereich
Tabellen-OID

Beziehungstypen

Überblick
Eins-zu-eins
Eins-zu-viele
Viele-zu-eins
Viele-zu-viele
Viele-zu-viele (Array)

Entwicklung

Überblick
Next PageÜberblick
KI-Übersetzungshinweis

Diese Dokumentation wurde automatisch von KI übersetzt.

#HTTP API

Dateiuploads für Anhangsfelder und Dateisammlungen können über die HTTP API abgewickelt werden. Die Aufrufmethode variiert je nach dem von der Anlage oder Dateisammlung verwendeten Speicher-Engine.

#Serverseitiger Upload

Für integrierte Open-Source-Speicher-Engines wie S3, OSS und COS ist der HTTP API-Aufruf identisch mit dem, der von der Benutzeroberfläche für Uploads verwendet wird. Die Dateien werden dabei serverseitig hochgeladen. API-Aufrufe erfordern die Übergabe eines benutzerbasierten JWT-Tokens im Authorization-Request-Header; andernfalls wird der Zugriff verweigert.

#Anhangsfeld

Führen Sie eine create-Aktion für die attachments-Ressource (Anhangs-Sammlung) aus, indem Sie eine POST-Anfrage senden und den binären Inhalt über das file-Feld hochladen. Nach dem Aufruf wird die Datei in die Standard-Speicher-Engine hochgeladen.

curl -X POST \
    -H "Authorization: Bearer <JWT>" \
    -F "file=@<path/to/file>" \
    "http://localhost:3000/api/attachments:create"

Um Dateien in eine andere Speicher-Engine hochzuladen, können Sie den Parameter attachmentField verwenden, um die für das Sammlungsfeld konfigurierte Speicher-Engine anzugeben. Ist keine konfiguriert, wird die Datei in die Standard-Speicher-Engine hochgeladen.

curl -X POST \
    -H "Authorization: Bearer <JWT>" \
    -F "file=@<path/to/file>" \
    "http://localhost:3000/api/attachments:create?attachmentField=<collection_name>.<field_name>"

#Dateisammlung

Beim Hochladen in eine Dateisammlung wird automatisch ein Dateieintrag generiert. Führen Sie eine create-Aktion für die Dateisammlungs-Ressource aus, indem Sie eine POST-Anfrage senden und den binären Inhalt über das file-Feld hochladen.

curl -X POST \
    -H "Authorization: Bearer <JWT>" \
    -F "file=@<path/to/file>" \
    "http://localhost:3000/api/<file_collection_name>:create"

Beim Hochladen in eine Dateisammlung müssen Sie keine Speicher-Engine angeben; die Datei wird in die für diese Sammlung konfigurierte Speicher-Engine hochgeladen.

#Clientseitiger Upload

Für S3-kompatible Speicher-Engines, die über das kommerzielle S3-Pro Plugin bereitgestellt werden, erfordert der HTTP API-Upload mehrere Schritte.

#Anhangsfeld

  1. Speicher-Engine-Informationen abrufen

    Führen Sie eine getBasicInfo-Aktion für die storages-Sammlung aus und übergeben Sie dabei den Speichernamen, um die Konfigurationsinformationen der Speicher-Engine anzufordern.

    curl 'http://localhost:13000/api/storages:getBasicInfo/<storage_name>' \
      -H 'Authorization: Bearer <JWT>'

    Beispiel der zurückgegebenen Konfigurationsinformationen der Speicher-Engine:

    {
      "id": 2,
      "title": "xxx",
      "name": "xxx",
      "type": "s3-compatible",
      "rules": { ... }
    }
  2. Vorab signierte URL vom Dienstanbieter abrufen

    Führen Sie eine createPresignedUrl-Aktion für die fileStorageS3-Ressource aus, indem Sie eine POST-Anfrage mit dateibezogenen Informationen im Body senden, um die vorab signierten Upload-Informationen zu erhalten.

    curl 'http://localhost:13000/api/fileStorageS3:createPresignedUrl' \
      -X POST \
      -H 'Accept: application/json, text/plain, */*' \
      -H 'Authorization: Bearer <JWT>' \
      -H 'Content-Type: application/json' \
      --data-raw '{"name":<name>,"size":<size>,"type":<type>,"storageId":<storageId>,"storageType":<storageType>}'

    Hinweis:

    • name: Dateiname
    • size: Dateigröße (in Bytes)
    • type: Der MIME-Typ der Datei. Siehe: Häufige MIME-Typen
    • storageId: Die ID der Speicher-Engine (das id-Feld, das in Schritt 1 zurückgegeben wurde).
    • storageType: Der Typ der Speicher-Engine (das type-Feld, das in Schritt 1 zurückgegeben wurde).

    Beispiel-Anfragedaten:

    --data-raw '{"name":"a.png","size":4405,"type":"image/png","storageId":2,"storageType":"s3-compatible"}'

    Die Datenstruktur der erhaltenen vorab signierten Informationen ist wie folgt:

    {
      "putUrl": "https://xxxxxxx",
      "fileInfo": {
        "key": "xxx",
        "title": "xxx",
        "filename": "xxx",
        "extname": ".png",
        "size": 4405,
        "mimetype": "image/png",
        "meta": {},
        "url": ""
      }
    }
  3. Datei hochladen

    Verwenden Sie die zurückgegebene putUrl, um eine PUT-Anfrage zu stellen und die Datei als Body hochzuladen.

    curl '<putUrl>' \
      -X 'PUT' \
      -T <file_path>

    Hinweis:

    • putUrl: Das in dem vorherigen Schritt zurückgegebene putUrl-Feld.
    • file_path: Der lokale Pfad der hochzuladenden Datei.

    Beispiel-Anfragedaten:

    curl 'https://xxxxxxx' \
     -X 'PUT' \
     -T /Users/Downloads/a.png
  4. Dateieintrag erstellen

    Nach einem erfolgreichen Upload erstellen Sie den Dateieintrag, indem Sie eine create-Aktion für die attachments-Ressource (Anhangs-Sammlung) mit einer POST-Anfrage ausführen.

    curl 'http://localhost:13000/api/attachments:create?attachmentField=<collection_name>.<field_name>' \
      -X POST \
      -H 'Accept: application/json, text/plain, */*' \
      -H 'Authorization: Bearer <JWT>' \
      -H 'Content-Type: application/json' \
      --data-raw '{"title":<title>,"filename":<filename>,"extname":<extname>,"path":"","size":<size>,"url":"","mimetype":<mimetype>,"meta":<meta>,"storageId":<storageId>}'

    Erläuterung der abhängigen Daten in data-raw:

    • title: Das fileInfo.title-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • filename: Das fileInfo.key-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • extname: Das fileInfo.extname-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • path: Standardmäßig leer.
    • size: Das fileInfo.size-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • url: Standardmäßig leer.
    • mimetype: Das fileInfo.mimetype-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • meta: Das fileInfo.meta-Feld, das im vorherigen Schritt zurückgegeben wurde.
    • storageId: Das id-Feld, das in Schritt 1 zurückgegeben wurde.

    Beispiel-Anfragedaten:

      --data-raw '{"title":"ATT00001","filename":"ATT00001-8nuuxkuz4jn.png","extname":".png","path":"","size":4405,"url":"","mimetype":"image/png","meta":{},"storageId":2}'

#Dateisammlung

Die ersten drei Schritte sind identisch mit dem Upload in ein Anhangsfeld. Im vierten Schritt müssen Sie jedoch den Dateieintrag erstellen, indem Sie eine create-Aktion für die Dateisammlungs-Ressource mit einer POST-Anfrage ausführen und die Dateiinformationen im Body hochladen.

curl 'http://localhost:13000/api/<file_collection_name>:create' \
  -H 'Authorization: Bearer <JWT>' \
  -H 'Content-Type: application/json' \
  --data-raw '{"title":<title>,"filename":<filename>,"extname":<extname>,"path":"","size":<size>,"url":"","mimetype":<mimetype>,"meta":<meta>,"storageId":<storageId>}'

Erläuterung der abhängigen Daten in data-raw:

  • title: Das fileInfo.title-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • filename: Das fileInfo.key-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • extname: Das fileInfo.extname-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • path: Standardmäßig leer.
  • size: Das fileInfo.size-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • url: Standardmäßig leer.
  • mimetype: Das fileInfo.mimetype-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • meta: Das fileInfo.meta-Feld, das im vorherigen Schritt zurückgegeben wurde.
  • storageId: Das id-Feld, das in Schritt 1 zurückgegeben wurde.

Beispiel-Anfragedaten:

  --data-raw '{"title":"ATT00001","filename":"ATT00001-8nuuxkuz4jn.png","extname":".png","path":"","size":4405,"url":"","mimetype":"image/png","meta":{},"storageId":2}'