GlideSysAttachment : global

  • Rversion finale: Yokohama
  • Mis à jour 18 févr. 2025
  • 3 minutes de lecture
  • L’API GlideSysAttachment fournit des méthodes de gestion des pièces jointes.

    Le contenu est renvoyé en tant qu’objet GlideScriptableInputStream lorsque getContentStream() est appelé. La valeur GlideScriptableInputStream contient les octets réels non convertis en chaîne.

    GlideSysAttachment : GlideSysAttachment()

    Crée une instance de la classe GlideSysAttachment.

    Tableau 1. Paramètres
    Nom Type Description
    Néant

    GlideSysAttachment : copy(String sourceTable, String sourceID, String targetTable, String targetID)

    Copie les pièces jointes de l’enregistrement source vers l’enregistrement cible.

    Tableau 2. Paramètres
    Nom Type Description
    sourceTable Chaîne Nom de la table avec les pièces jointes à copier.
    sourceID Chaîne sys_id de la table source.
    targetTable Chaîne Nom de la table sur laquelle ajouter les pièces jointes.
    targetID Chaîne sys_id de la table cible.
    Tableau 3. Renvoie
    Type Description
    Chaîne Tableau des sys_ids des pièces jointes copiées.
    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);

    Sortie :

    Copied attachments: 6e4621df1bc420501363ff37dc4bcbb0,a87769531b0820501363ff37dc4bcba2

    GlideSysAttachment : deleteAttachment(String attachmentID)

    Supprime la pièce jointe spécifiée.

    Tableau 4. Paramètres
    Nom Type Description
    ID pièce jointe Chaîne La pièce jointe est sys_id.
    Tableau 5. Renvoie
    Type Description
    nul
    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

    GlideSysAttachment : getAttachments(String tableName, String sys_id)

    Retourne un GlideRecord contenant les métadonnées de pièce jointe correspondantes telles que le nom, le type ou la taille.

    Tableau 6. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table à laquelle appartient la pièce jointe ; Par exemple, incident.
    sys_id Chaîne Sys_id d’enregistrement auquel la pièce jointe appartient.
    Tableau 7. Renvoie
    Type Description
    GlideRecord Objet GlideRecord contenant les métadonnées de pièce jointe correspondantes telles que le nom, le type ou la taille.

    Le script suivant répertorie les noms de fichiers de pièce jointe pour un enregistrement avec deux pièces jointes.

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

    Sortie :

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

    GlideSysAttachment : getContentStream(String sysID)

    Renvoie un objet GlideScriptableInputStream compte tenu de l’sys_id d’une pièce jointe.

    Vous pouvez utiliser l’API GlideTextReader pour lire le flux de contenu.

    Tableau 8. Paramètres
    Nom Type Description
    sysID Chaîne Pièce jointe sys_id.
    Tableau 9. Renvoie
    Type Description
    GlideScriptableInputStream Flux contenant le contenu de la pièce jointe.
    var attachment = new GlideSysAttachment();
    var attachmentSysID = '6e4621df1bc420501363ff37dc4bcbb0';
    var attachmentContentStream = attachment.getContentStream(attachmentSysID);
    gs.info('Attachment content stream: ' + attachmentContentStream);

    Sortie :

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

    GlideSysAttachment : write (enregistrement GlideRecord, nom de fichier de chaîne, contentType de chaîne, contenu de chaîne)

    Joint une pièce jointe spécifiée à l’enregistrement spécifié.

    Tableau 10. Paramètres
    Nom Type Description
    enregistrement GlideRecord Enregistrement auquel joindre la pièce jointe.
    fileName Chaîne Nom du fichier de la pièce jointe.
    contentType Chaîne Type MIME de la pièce jointe, tel que image/png. Situé dans la table des pièces jointes [sys_attachment] dans le champ Type de contenu .
    contenu Chaîne Contenu de la pièce jointe.
    Tableau 11. Renvoie
    Type Description
    Chaîne Pièce jointe sys_id. Renvoie null si la pièce jointe n’a pas été ajoutée.
    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);

    Sortie :

    The attachment sys_id is: 01271e4317c13311e0ef563dbb9abe34

    GlideSysAttachment : writeContentStream(GlideRecord now_GR, chaîne fileName, chaîne contentType, GlideScriptableInputStream, inputStream)

    Insère une pièce jointe à l’aide du flux d’entrée.

    Tableau 12. Paramètres
    Nom Type Description
    now_GR GlideRecord Enregistrement auquel joindre la pièce jointe.
    fileName Chaîne Nom du fichier de la pièce jointe.
    contentType Chaîne Type MIME de la pièce jointe, tel que image/png. Situé dans la table des pièces jointes [sys_attachment] dans le champ Type de contenu .
    contenu GlideScriptableInputStream Contenu de la pièce jointe.
    Tableau 13. Renvoie
    Type Description
    Chaîne Sys_id de la pièce jointe créée.

    Joint un flux de contenu de la table sys_attachment à un enregistrement test_table.

    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");
    }