Für den Umgang mit Dateien gibt es Hilfsmethoden in Api.Attachments.

Dateien auf einem Datensatz

Um auf einen Datensatz Methoden für den Umgang mit Dateien zur Verfügung zu haben, muss die Erweiterung über ein using eingebunden werden.

using BA.Core.Extensions.BA.Core.DB;

Hinzufügen

byte[] data = new byte[];
OrmAttachment attachment = Api.Attachments.CreateAttachment("Dateinname.txt", data, nameof(MyDataTable.MyAttachments), session: orm.Session);
orm.AddAttachment(attachment, false);
orm.Save();

Abfragen

Einzelne Datei

OrmAttachment attachment = orm.GetAttachmentById(attachmentGuid);

Alle Dateien eines Feldes

IReadOnlyList<OrmAttachment> attachments = orm.DefaultAttachments;

Alle Dateien

IEnumerable<OrmAttachment> attachments = orm.GetAttachments();

Eingebette Bilder in HTML Feldern werden ebenfalls als Dateien abgelegt und werden daher ebenfalls nur einmalig in den Speicher abgelegt. Um diese zu Laden muss man den Parameter inline setzen.

IEnumerable<OrmAttachment> attachments = orm.GetAttachments(inline: AttachmentInlineType.Inline);

Entfernen

orm.RemoveAttachment(attachment);