createTextFile

Erstellt eine Textdatei mit festgelegtem Namen, Inhalt und optionaler Kodierung

Die Funktion createTextFile ermöglicht das Erstellen und Anhängen von Textdateien direkt an Datensätze in Ninox. Dabei können verschiedene Dateitypen wie .txt, .html und .csv generiert werden, die anschließend heruntergeladen oder außerhalb von Ninox weiterverwendet werden können.

Sie können den Dateinamen, die Erweiterung und den Inhalt der Datei festlegen und optional ein Kodierungsformat definieren (im serverseitigen Modus). Wird kein spezifischer Speicherort angegeben, wird die Datei automatisch an den Datensatz angehängt und ist über das Büroklammersymbol (📎) im Anhänge-Tab zugänglich.

Achtung: Die encoding-Option kann nur innerhalb eines do as server-Codeblocks verwendet werden.

Syntax

createTextFile(nid, string, string)

createTextFile(nid, string, string, JSON)

Parameter

  • record: Der Datensatz, an den die Textdatei angehängt wird.

  • content: Der Textinhalt, der in die Datei geschrieben wird. Er kann auf folgende Weise bereitgestellt werden:

    • Direkte Eingabe als Text in Anführungszeichen, z. B. "Hello, world!".

    • Text aus einem Textfeld, mehrzeiligen Textfeld oder Rich-Text-Feld.

  • filename: Der gewünschte Dateiname inklusive Erweiterung, z. B. datei.txt oder dokument.html.

  • options (optional, nur serverseitig): Ein JSON-Objekt zur Spezifikation von Kodierungsoptionen.

    • encoding: Legt das Kodierungsformat der Datei fest. Verfügbare Kodierungswerte:

      • 'utf8', 'utf-8'

      • 'utf16le', 'utf-16le' (Aliase: 'usc2', 'usc-2')

      • 'latin1' (Alias: 'binary')

      • 'base64'

      • 'base64url'

      • 'hex'

      • 'ascii'

Hinweis: Bei Kodierungs-Strings wird nicht zwischen Groß- und Kleinschreibung unterschieden. UTF-8 kann beispielsweise als utf8, UTF8 oder uTf8 angegeben werden.

Rückgabewert

file: Eine generierte Datei, die an den angegebenen Datensatz angehängt wird.

Beispiele

In den folgenden Beispielen enthält Ihre Datenbank folgende Felder:

  • Ein Rich-Text-Feld namens Mein Text, das den zu speichernden Inhalt enthält.

  • Ein Bild-Feld namens Datei.

  • Ein Button namens Dokument erstellen.

Um die folgenden Beispiele auszuführen, öffnen Sie die Einstellungen des Buttons Dokument erstellen und fügen Sie das jeweilige Skript im Formel-Editor unter Beim Klicken hinzu.

1. Einfaches Anhängen einer Textdatei mit Umwandlung in Klartext

Um eine Textdatei mit dem Namen MeinTextDateiBeispiel.txt zu erstellen, die den Klartext aus Mein Text enthält, verwenden Sie:

createTextFile(this, text('Mein Text'), "MeinTextDateiBeispiel.txt")

Erklärung: Die Funktion text('Mein Text') entfernt jegliche Formatierung und gibt den Klartext aus Mein Text zurück.

Ergebnis: Beim Anklicken von Dokument erstellen wird eine .txt-Datei mit dem Namen MeinTextDateiBeispiel.txt erstellt und an den Datensatz angehängt. Sie können die Datei im Tab Anhänge (📎) finden; ein Klick auf das Bildfeld lädt die Datei automatisch herunter.

2. HTML-Datei-Anhang mit Rohtext (einschließlich HTML-Tags)

Um eine HTML-Datei (mit HTML-Tags) namens MeinTextDateiBeispiel.html zu erstellen, die den Inhalt aus Mein Text nutzt und an das Bildfeld Datei angehängt wird, verwenden Sie:

Datei := createTextFile(this, raw('Mein Text'), "MeinTextDateiBeispiel.html")

Erklärung: Die Funktion raw('Mein Text') bewahrt alle HTML-Tags im Feld Mein Text, sodass die Datei als formatierte HTML-Seite im Browser angezeigt werden kann.

Ergebnis: Beim Anklicken von Dokument erstellen wird eine .html-Datei mit dem Namen MeinTextDateiBeispiel.html erstellt und an das Bildfeld Datei angehängt. Ein Klick auf das Bildfeld lädt die Datei automatisch herunter.

Hinweis: Die Verwendung von raw('Mein Text') mit einer .html-Erweiterung stellt sicher, dass alle HTML-Tags innerhalb von Mein Text (wie <h1>, <p> usw.) erhalten bleiben. Dadurch kann die Datei in einem Webbrowser mit der strukturierten Formatierung der Tags geöffnet werden, was sie geeignet macht, um Inhalte als formatierte Webseite darzustellen.

3. HTML-Datei mit UTF-8-Kodierung

Um eine UTF-8-Kodierung auf eine HTML-Datei anzuwenden, die aus Mein Text erstellt wird, verwenden Sie die serverseitige Variante der Funktion in einem do as server-Block:

do as server
  Datei := createTextFile(this, raw('Mein Text'), "MeinTextDateiBeispiel.html", {encoding: "utf8"})
end

Erklärung: Der serverseitige Block (do as server ... end) ist erforderlich, um encoding anzugeben.

Ergebnis: Beim Anklicken von Dokument erstellen wird eine .html-Datei (in UTF-8 kodiert) mit dem Namen MeinTextDateiBeispiel.html erstellt und an das Bildfeld Datei angehängt. Ein Klick auf das Bildfeld lädt die Datei automatisch herunter.

Hinweis: Die Option encoding ist besonders geeignet, um internationale Zeichen, Sonderzeichen oder mehrsprachige Inhalte in der Datei zu erhalten.

Siehe auch

file, gibt auf Basis des Dateinamens eine bestimmte Datei aus einem Datensatz zurück.

importFile, importiert eine Datei über eine URL und speichert diese als Anhang eines Datensatzes.

Last updated