GlideSysAttachment : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Die GlideSysAttachment- API bietet Methoden für die Verarbeitung von Anhängen.

    Inhalt wird als Zeichenfolge zurückgegeben, nicht als Byte-Array, wenn getContent() aufgerufen wird.

    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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    GlideSysAttachment – kopieren (Zeichenfolgen-sourceTable, Zeichenfolgen-sourceID, Zeichenfolgen-targetTable, Zeichenfolgen-targetID)

    Kopiert Anhänge aus dem Quelldatensatz in den Zieldatensatz.

    Tabelle : 2. 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, in der die Anhänge hinzugefügt werden sollen.
    targetID Zeichenfolge sys_id der Zieltabelle.
    Tabelle : 3. Ergebnisse
    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 - deleteAttachment(String AttachmentID)

    Löscht den angegebenen Anhang.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    attachmentID Zeichenfolge sys_id des Anhangs
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    void
    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

    GlideSysAttachment - getAttachments(String tableName, String sys_id)

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

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle, zu der der Anhang gehört; Beispiel: Incident.
    sys_id Zeichenfolge Sys_id des Datensatzes, zu dem der Anhang gehört.
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    GlideRecord GlideRecord-Objekt mit den entsprechenden Anhangmetadaten wie Name, Typ oder Größe.

    Das folgende Skript listet Anhangdateinamen 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 die GlideTextReader- API verwenden, um den Inhaltsstream zu lesen.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    sysID Zeichenfolge sys_id des Anhangs
    Tabelle : 9. Ergebnisse
    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 - write(GlideRecord-Datensatz, Zeichenfolge fileName, Zeichenfolgeninhaltstyp, Zeichenfolgeninhalt)

    Hängt dem angegebenen Datensatz einen angegebenen Anhang an.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Datensatz GlideRecord Datensatz, an den der Anhang angehängt werden soll.
    fileName Zeichenfolge Dateiname des Anhangs.
    contentType Zeichenfolge Inhaltstyp des Anhangs.
    Content Zeichenfolge Inhalt des Anhangs.
    Tabelle : 11. Ergebnisse
    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 : 12. Parameter
    Name Typ Beschreibung
    now_GR GlideRecord Datensatz, an den der Anhang angehängt werden soll.
    fileName Zeichenfolge Dateiname des Anhangs.
    contentType Zeichenfolge Inhaltstyp des Anhangs.
    Content GlideScriptableInputStream Inhalt des Anhangs.
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Sys_id des erstellten Anhangs.

    Hängt einen Inhaltsstream 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");
    }