0

Dateianhänge von Datensatz A zu Datensatz B kopieren

Hallo,

wie kann ich alle (oder einzelne) Dateien aus dem Register "Dateianhänge" von Datensatz A zu Datensatz B kopieren?

Die Funktion duplicate() kopiert einen Datensatz leider ohne Dateianhänge. Ist das ein Fehler?

Dann habe ich auch etwas in der Art versucht - ohne Erfolg:

for i in files(Mail) do
importFile(this, i);
end

Wer hat weitere Ideen, dies zu bewerkstelligen?

4 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Simon,

    wenn du einen Cloud-Account hast, sollte es mit REST-API und GET Anfrage mölich sein.

    Ohne Cloud - momentan keine Chance

    Leo

    • Simon_Wick
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Alles klar - danke! Hab's nun über die API implementiert. Lieber Gruss, Simon

    • Ferienanlage am Grenzbach
    • RHartung
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo, gibt es irgendwo ein Anleitung wie das mit der Rest-API funktioniert? Was Ninox angeht bin ich recht fit, aber das sind für mich noch Böhmische Dörfer.

    Vielen Dank

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    let vAuthorization := {Authorization:"Bearer NinoxAPI-Key", Content-Type:"multipart/formdata"};

    let vFilename := "Name des Files incl. Dateiendung"

    let vUrl := "https://api.ninoxdb.de/v1/teams/TEAM-ID/databases/DATABASE-ID/tables/Ziel-TABLE-ID/records/Ziel-RECORD-NR/"+vFilename;

    do as server http("POST",vUrl,vAuthorization,"") end

    Das automatische Löschen des Anhangs per Script funktioniert auch nur per Rest-API

    let vFilename := "Name des Files incl. Dateiendung"

    let vUrl := "https://api.ninoxdb.de/v1/teams/TEAM-ID/databases/DATABASE-ID/tables/Ausgangs-TABLE-ID/records/Ausgangs-RECORD-NR/"+vFilename;

    do as server http("DELETE",vUrl,vAuthorization,"") end

    Anderer Weg über shareFile():
    Einen Share-Link von dem File erzeugen.
    Am Zielrecord mit importFile() entweder in ein Bildfeld oder in den Anhang kopieren.
    Löschen geht wiederum nur per Api. (Kann man mit einer globalen Funktion machen)

    Andere Lösung:
    Zentrale Tabelle, wo pro Record ein File (Bildfeld oder Anhang) gespeichert wird und per Verknüpfung aus den anderen Tabellen darauf zugegriffen wird.
    Löschen kann man durch einfaches löschen des Records, wenn keine Verknüpfungen bestehen.
    Aus meiner Sicht die Beste Lösung.
    Vorteil: Alle Files der DB werden zentral verwaltet und sind an einem Ort auffindbar.
    Man kann es funktional erweitern, daß die Files aus Ninox ausgelagert werden und nur noch shareLinks auf die Files in Ninox gespeichert werden.
    Das verkleinert die Größe der DB enorm. Man merkt es daran, wenn man Backups fährt und diese zurückspielen will. Außerdem ist die Speichergröße in der Ninox-Cloud beschränkt.
    Hier eine Beispiel-DB ohne File-Auslagerung, die ich auch als Ausgangs-DB beim erstellen einer neuenDatenbank nutze. (Da ist noch eine Anleitung drin, wie man Files aus Ninox heraus auf die lokale Festplatte oder einem anderen lokalen Medium speichert)
    Ich habe noch eine Version, bei der ich die Files auslagere um die DB klein zu halten.
    Dazu nutze ich als Drittprogramm n8n und Baserow. Das funktioniert in der Praxis in vielen Datenbanken einwandfrei und ist auch sehr schnell. Man kann jederzeit die Files nach Ninox zurückspielen ist aber durch die Sharelinks auf das jeweilige File nicht darauf angewiesen. Man kann sie somit anderen (Nicht Ninox-Usern) zugänglich machen indem man sie als Link in Mails oder auf anderen Wegen mitsendet. (Hält auch die Mailgröße klein)

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 4Antworten
  • 1022Ansichten
  • 3 Folge bereits