GlideSysAnhang – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 9 Minuten Lesedauer
  • Die GlideSysAnhang Die API stellt Methoden für die Verarbeitung von Anhängen bereit.

    Inhalt wird als GlideScriptableInputStream-Objekt zurückgegeben, wenn getContentStream() aufgerufen wird. GlideScriptableInputStream enthält die tatsächlichen Bytes, die nicht in eine Zeichenfolge konvertiert wurden.

    GlideSysAttachment: GlideSysAttachment ()

    Erstellt eine Instanz der GlideSysAttachment-Klasse.

    Hinweis:
    Dieser Konstruktor verwendet eine sys_ID des Anhangs nur als Zeichenfolge, wenn Anhangsattribute verwaltet werden.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    IdAttachmentAttributes Zeichenfolge SYS_ID eines Anhangs mit Attributen. Um zu bestimmen, ob ein Anhang Attribute enthält, verwenden Sie GlideSysAttachment – fetchAllAttributes().

    Tabelle: Anhänge [sys_attachment]

    Das folgende Skript listet die Namen der Anhangsdateien für einen Datensatz mit zwei Anhängen auf.

    var attachment = new GlideSysAttachment();
    
    var agr = attachment.getAttachments('<table_name>', '<record_sys_id>');
    
    while(agr.next())
    gs.info(agr.getValue('file_name'));

    Ausgabe:

    *** Script: filename1.txt
    *** Script: filename2.txt

    Das folgende Beispiel zeigt, wie alle Attribute abgerufen werden, die einem angegebenen Anhang zugewiesen sind.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var result = attach.fetchAllAttributes();
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value')); 
    }

    Ausgabe:

    Key: title, Value: Add multiple attributes to an attachment
    Key: author, Value: Abel Tuter
    Key: category, Value: KB
    Key: length, Value: 5000

    GlideSysAttachment – addAttribute(String attrKey, String attrValue)

    Fügt einem vorhandenen Anhangsdatensatz ein einzelnes Attribut hinzu.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    AttrKey Zeichenfolge Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    AttrValue Zeichenfolge Wertanteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    Tabelle : 3. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie einem angegebenen Anhang ein Attribut mit dem Schlüssel hinzugefügt wird Autor Und Wert Fred Luddy . Die Ergebnisse können in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] angezeigt werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    attach.addAttribute("author", "Fred Luddy");
    
    var result = attach.fetchAttribute("author");
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value')); 
    }

    Ausgabe:

    Key: author 
    Value: Fred Luddy

    GlideSysAttachment – addMultipleAttributes(Object attrsKeyValuePair)

    Fügt einem Anhangsdatensatz mehrere Attribute hinzu.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    AttrsKeyValuePair Objekt Anhangsattribute in einer Reihe von Schlüssel-Wert-Paaren. Jeder Attributschlüssel und sein Wert müssen als Zeichenfolge angegeben werden.
    Zum Beispiel:
    var attachmentAttributes = { 
        "description" : "Photo of the solar system",
        "dimensions" : "1600 x 300"
    }
    Tabelle : 5. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einem angegebenen Anhang Attribute hinzufügen. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var attrsKeyValuePair = { };
      attrsKeyValuePair["title"]  = "Add multiple attributes to an attachment";
      attrsKeyValuePair["category"] =  "KB";
      attrsKeyValuePair["length"] =  "5000";
    
    attach.addMultipleAttributes(attrsKeyValuePair);
    
    var result = attach.fetchAllAttributes();
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
    }

    Ausgabe:

    Key: title, Value: Add multiple attributes to an attachment
    Key: author, Value: Abel Tuter
    Key: category, Value: KB
    Key: length, Value: 5000

    GlideSysAttachment – Copy(Zeichenfolge sourceTable, Zeichenfolge sourceID, Zeichenfolge targetTable, Zeichenfolge targetID)

    Kopiert Anhänge aus dem Quelldatensatz in den Zieldatensatz.

    Hinweis:
    Beim Kopieren eines Anhangs werden auch alle ihm zugewiesenen Attribute kopiert. Sie können eine Liste der zugewiesenen Attribute in der Tabelle „Anhangsattribute“ [sys_attachment_list] anzeigen oder ausführen FetchAllAttributes() Methode.
    Tabelle : 6. Parameter
    Name Typ Beschreibung
    sourceTable Zeichenfolge Name der Tabelle mit den Anhängen, die kopiert werden sollen.
    sourceID Zeichenfolge Sys_ID der Quelltabelle
    targetTable Zeichenfolge Name der Tabelle, der die Anhänge hinzugefügt werden sollen.
    targetID Zeichenfolge Sys_ID der Zieltabelle
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    Zeichenfolge Array von sys_IDs Der Anhänge, die kopiert wurden.
    var attachment = new GlideSysAttachment();
    var incidentSysID = 'ab1b30031b04ec101363ff37dc4bcbfc';
    var incGR = new GlideRecord('incident');
    incGR.get(incidentSysID);
    
    var copiedAttachments = attachment.copy('incident', incidentSysID, 'problem', incGR.getValue('problem_id'));
    gs.info('Copied attachments: ' + copiedAttachments);

    Ausgabe:

    Copied attachments: 6e4621df1bc420501363ff37dc4bcbb0,a87769531b0820501363ff37dc4bcba2

    GlideSysAttachment – deleteAllAttributes()

    Löscht alle Attribute aus einem vorhandenen Anhangsdatensatz.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Attribute erfolgreich gelöscht wurden.
    Gültige Werte:
    • Wahr: Die Attribute wurden erfolgreich gelöscht.
    • Falsch: Die Attribute wurden nicht erfolgreich gelöscht.

    Das folgende Beispiel zeigt, wie alle Attribute gelöscht werden, die einem angegebenen Anhang zugewiesen sind. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    attach.deleteAllAttributes();
    
    var result = attach.fetchAllAttributes();
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value')); 
    }

    Ausgabe:

    Attribute "null" not found for attachment "04f48541083e2e50f877df7a115e31f3"
    

    GlideSysAttachment – deleteAttachment(ZeichenfolgenanhangID)

    Löscht den angegebenen Anhang.

    Hinweis:
    Durch das Löschen eines Anhangs werden auch alle ihm zugewiesenen Attribute gelöscht. Sie können eine Liste der zugewiesenen Attribute in der Tabelle „Anhangsattribute“ [sys_attachment_list] anzeigen oder ausführen FetchAllAttributes() Methode.
    Tabelle : 10. Parameter
    Name Typ Beschreibung
    attachmentID Zeichenfolge Sys_ID des Anhangs
    Tabelle : 11. Rückgaben
    Typ Beschreibung
    void
    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

    GlideSysAttachment – deleteAttribute(Zeichenfolge attrKey)

    Löscht ein angegebenes Attribut aus dem Anhangsdatensatz.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    AttrKey Zeichenfolge Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    Tabelle : 13. Ausgabe
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das Anhangsattribut erfolgreich gelöscht wurde.
    Gültige Werte:
    • Wahr: Das Anhangsattribut wurde erfolgreich gelöscht.
    • Falsch: Das Anhangsattribut wurde nicht erfolgreich gelöscht.

    Das folgende Beispiel zeigt, wie ein Attribut gelöscht wird, das einem angegebenen Anhang mit dem Schlüssel zugewiesen ist Autor . Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3v");
    
    attach.deleteAttribute("author");
    
    var result = attach.fetchAttribute("author");
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value')); 
    }

    Ausgabe:

    Attribute "author" not found for attachment "04f48541083e2e50f877df7a115e31f3"

    GlideSysAttachment – fetchAllAttributes()

    Ruft alle Attribute aus einem angegebenen Anhangsdatensatz ab.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    GlideRecord Der Anhangdatensatz und alle seine Attribute.

    Das folgende Beispiel zeigt, wie alle Attribute abgerufen werden, die einem angegebenen Anhang zugewiesen sind.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var result = attach.fetchAllAttributes();
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value')); 
    }

    Ausgabe:

    Key: title, Value: Add multiple attributes to an attachment
    Key: author, Value: Abel Tuter
    Key: category, Value: KB
    Key: length, Value: 5000

    GlideSysAttachment – fetchAttribute(Zeichenfolge attrKey)

    Ruft ein angegebenes Attribut aus einem Anhangsdatensatz ab.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    AttrKey Zeichenfolge Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    Tabelle : 17. Ausgabe
    Typ Beschreibung
    GlideRecord Der GlideRecord des Anhangs und das angegebene Attribut.

    Das folgende Beispiel zeigt, wie ein Anhangsattribut mit dem Schlüssel abgerufen wird Autor .

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var result = attach.fetchAttribute("author");
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value')); 
    }

    Ausgabe:

    Key: author 
    Value: Abel Tuter

    GlideSysAttachment – getAttachments (Zeichenfolge tableName, Zeichenfolge sys_ID)

    Gibt einen GlideRecord zurück, der die übereinstimmenden Anhangsmetadaten wie Name, Typ oder Größe enthält.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, zu der der Anhang gehört, z. B. Incident.
    sys_id Zeichenfolge SYS_ID des Datensatzes, zu dem der Anhang gehört.
    Tabelle : 19. Rückgaben
    Typ Beschreibung
    GlideRecord GlideRecord-Objekt, das die übereinstimmenden Anhangsmetadaten wie Name, Typ oder Größe enthält.

    Das folgende Skript listet die Namen der Anhangsdateien für einen Datensatz mit zwei Anhängen auf.

    var attachment = new GlideSysAttachment();
    
    var agr = attachment.getAttachments('<table_name>', '<record_sys_id>');
    
    while(agr.next())
    gs.info(agr.getValue('file_name'));

    Ausgabe:

    *** Script: filename1.txt
    *** Script: filename2.txt

    GlideSysAttachment – getContentStream(String sysID)

    Gibt ein GlideScriptableInputStream-Objekt anhand der sys_ID eines Anhangs zurück.

    Sie können verwenden GlideTextReader API zum Lesen des Content Streams.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    sysID Zeichenfolge SYS_ID des Anhangs
    Tabelle : 21. Rückgaben
    Typ Beschreibung
    GlideScriptableInputStream Stream, der den Inhalt des Anhangs enthält.
    var attachment = new GlideSysAttachment();
    var attachmentSysID = '6e4621df1bc420501363ff37dc4bcbb0';
    var attachmentContentStream = attachment.getContentStream(attachmentSysID);
    gs.info('Attachment content stream: ' + attachmentContentStream);

    Ausgabe:

    Attachment content stream: com.glide.communications.GlideScriptableInputStream@14bd299

    GlideSysAttachment – updateAllAttributes(Object attrsKeyValuePair)

    Aktualisiert alle Attribute für einen vorhandenen Anhangsdatensatz.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    AttrsKeyValuePair Objekt Anhangsattribute in einer Reihe von Schlüssel-Wert-Paaren. Jeder Attributschlüssel und sein Wert müssen als Zeichenfolge angegeben werden.
    Zum Beispiel:
    var attachmentAttributes = { 
        "description" : "Photo of the solar system",
        "dimensions" : "1600 x 300"
    }
    Tabelle : 23. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie jedes Attribut für einen angegebenen Anhang aktualisiert wird. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var attachmentAttributes = {
        "category" : "Training",
        "title" : "Updating attachment attributes", 
        "author" : "Abraham Lincoln",
        "length" : "6000"
    }
    
    attach.updateAllAttributes(attachmentAttributes);
    
    var result = attach.fetchAllAttributes();
    
    while(result.next()) {
       gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
    }

    Ausgabe:

    Key: title, Value: Updating attachment attributes
    Key: author, Value: Abraham Lincoln
    Key: category, Value: Training
    Key: length, Value: 6000

    GlideSysAttachment – updateAttribute(String attrKey, String attrValue)

    Aktualisiert ein einzelnes Attribut für einen vorhandenen Anhangsdatensatz.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    AttrKey Zeichenfolge Schlüsselteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    AttrValue Zeichenfolge Wertanteil eines Schlüssel-Wert-Paares für ein Anhangsattribut.
    Tabelle : 25. Ausgabe
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie ein Attribut, das einem angegebenen Anhang zugewiesen ist, mit dem Schlüssel aktualisiert wird Autor Und ändert den Wert in Abel Tuter. Die Ergebnisse können auch in der Tabelle „Anhangsattribute“ [sys_attachment_Attribute] überprüft werden.

    var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
    
    var originalVal = attach.fetchAttribute("author");
    while(originalVal.next()) {
       gs.info("Original attribute value: " + originalVal.getValue('value') + "\n"); 
    }
    
    attach.updateAttribute("author", "Abel Tuter");
    
    var updatedVal = attach.fetchAttribute("author"); 
    while(updatedVal.next()) {
       gs.info("Updated attribute value: " + updatedVal.getValue('value')); 
    }

    Ausgabe:

    Original attribute value: Fred Luddy
    
    Updated attribute value: Abel Tuter

    GlideSysAttachment – write (GlideRecord-Datensatz, Zeichenfolgendateiname, ZeichenfolgeninhaltType, Zeichenfolgeninhalt)

    Hängt einen angegebenen Anhang an den angegebenen Datensatz an.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    Datensatz GlideRecord Datensatz, an den der Anhang angehängt werden soll.
    fileName Zeichenfolge Name der Anhangsdatei.
    contentType Zeichenfolge MIME-Typ des Anhangs, z. B. Bild/PNG . Befindet sich in der Tabelle „Anhang“ [sys_attachment] in Inhaltstyp Feld.
    Content Zeichenfolge Anhangsinhalt.
    Tabelle : 27. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID des Anhangs Gibt NULL zurück, wenn der Anhang nicht hinzugefügt wurde.
    var attachment = new GlideSysAttachment();
    
    //set up inputs
    var rec = new GlideRecord('incident');
    rec.get('78271e1347c12200e0ef563dbb9a7109');
    var fileName = 'example.txt';
    var contentType = 'text/csv';
    var content = 'The text that is stored inside my file';
    
    var agr = attachment.write(rec, fileName, contentType, content);
    
    gs.info('The attachment sys_id is: ' + agr);

    Ausgabe:

    The attachment sys_id is: 01271e4317c13311e0ef563dbb9abe34

    GlideSysAttachment – writeContentStream(GlideRecord Now_GR, String filename, String contentType, GlideScriptableInputStream inputStream)

    Fügt einen Anhang mit dem Eingabe-Stream ein.

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    Now_GR GlideRecord Datensatz, an den der Anhang angehängt werden soll.
    fileName Zeichenfolge Name der Anhangsdatei.
    contentType Zeichenfolge MIME-Typ des Anhangs, z. B. Bild/PNG . Befindet sich in der Tabelle „Anhang“ [sys_attachment] in Inhaltstyp Feld.
    Content GlideScriptableInputStream Anhangsinhalt.
    Tabelle : 29. Rückgaben
    Typ Beschreibung
    Zeichenfolge SYS_ID des erstellten Anhangs.

    Hängt einen Content Stream aus der Tabelle „sys_attachment“ an einen Test_table-Datensatz an.

    function copyAttachmentToGlideRecord(conceptSysId) {
    
      // Get record from test_table using sys_id
      var targetGlideRecord = new GlideRecord("test_table");
      if (!targetGlideRecord.get(conceptSysId)) {
         throw ("Cannot find record created by test with sys_id: " + conceptSysId);
      }
    
      // Get record from sys_attachment table
      var sourceAttachmentGlideRecord = new GlideRecord('sys_attachment');    
      sourceAttachmentGlideRecord.query();
      sourceAttachmentGlideRecord.next();
    
      // Get field values from retrieved sys_attachment record
      var fileName = sourceAttachmentGlideRecord.getValue('file_name');
      var contentType = sourceAttachmentGlideRecord.getValue('content_type');
      var sourceAttachmentSysId = sourceAttachmentGlideRecord.getValue('sys_id');
    
      // Attach sys_attachment record content stream to test_table record
      var gsa = new GlideSysAttachment();
      gsa.writeContentStream(
        targetGlideRecord,
        fileName,
        contentType,
        gsa.getContentStream(sourceAttachmentSysId));
      gs.info("Attachment created");
    }