---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideSysAttachment : global

# GlideSysAttachment : global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes de lecture

L'API GlideSysAttachment fournit des méthodes pour gérer les pièces jointes.

Le contenu est renvoyé sous forme de chaîne, et non sous forme de tableau d'octets lorsque getContent() est appelé.

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

## GlideSysAttachment : GlideSysAttachment() {#ariaid-title2}

Crée une instance de la classe GlideSysAttachment.
{#GSA-GlideSysAttachment__table_iys_ctb_fv__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 1. Paramètres]

{#GSA-GlideSysAttachment__table_iys_ctb_fv}

## GlideSysAttachment : copie(String sourceTable, String sourceID, String targetTable, String targetID) {#ariaid-title3}

Copie les pièces jointes de l'enregistrement source vers l'enregistrement cible.
{#GSA-copy_S_S_S_S__id_g4d_yjz_g5b__entry__3}

| Nom | Type | Description |
|-|-|-|
| sourceTable | Chaîne | Nom de la table avec les pièces jointes à copier. |
| ID source | Chaîne | sys_id de la table source. |
| targetTable | Chaîne | Nom de la table à laquelle ajouter les pièces jointes. |
| ID cible | Chaîne | sys_id de la table cible. |
[Tableau 2. Paramètres]

{#GSA-copy_S_S_S_S__id_g4d_yjz_g5b} {#GSA-copy_S_S_S_S__id_afm_yjz_g5b__entry__2}

| Type | Description |
|-|-|
| Chaîne | Tableau des sys_ids des pièces jointes qui ont été copiées. |
[Tableau 3. Renvoie]

{#GSA-copy_S_S_S_S__id_afm_yjz_g5b}  

    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) {#ariaid-title4}

Supprime la pièce jointe spécifiée.
{#GSA-deleteAttachment_S__id_ywb_ykz_g5b__entry__3}

| Nom | Type | Description |
|-|-|-|
| attachmentID | Chaîne | sys_id de la pièce jointe. |
[Tableau 4. Paramètres]

{#GSA-deleteAttachment_S__id_ywb_ykz_g5b} {#GSA-deleteAttachment_S__table_gjy_lyb_fv__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 5. Renvoie]

{#GSA-deleteAttachment_S__table_gjy_lyb_fv}  

    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

## GlideSysAttachment : getAttachments(Chaîne, tableName, chaîne sys_id) {#ariaid-title5}

Renvoie un objet GlideRecord contenant les métadonnées de pièce jointe correspondantes, telles que le nom, le type ou la taille.
{#GSA-getAttachments_S_S__id_m5v_14z_g5b__entry__3}

| 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 de l'enregistrement auquel appartient la pièce jointe. |
[Tableau 6. Paramètres]

{#GSA-getAttachments_S_S__id_m5v_14z_g5b} {#GSA-getAttachments_S_S__id_qr3_c4z_g5b__entry__2}

| Type | Description |
|-|-|
| GlideRecord | Objet GlideRecord contenant les métadonnées de pièce jointe correspondantes, telles que le nom, le type ou la taille. |
[Tableau 7. Renvoie]

{#GSA-getAttachments_S_S__id_qr3_c4z_g5b}  
Le script suivant répertorie les noms de fichiers de pièces jointes pour un enregistrement comportant 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) {#ariaid-title6}

Renvoie un objet GlideScriptableInputStream compte tenu de l'sys_id d'une pièce jointe.
Vous pouvez utiliser l'API [GlideTextReader](https://servicenow-prod.fluidtopics.net/YXBAI_tc2hFW9W9k_7ogGg#c_GlideTextReaderScopedAPI "L’API GlideTextReader offre la possibilité de lire des lignes uniques à partir d’un flux d’entrée. Étant donné qu’un flux d’entrée est utilisé, il n’est pas soumis à la limite de taille de pièce jointe de 5 Mo.") pour lire le flux de contenu.
{#GSA-getContentStream_S__id_sdc_44z_g5b__entry__3}

| Nom | Type | Description |
|-|-|-|
| sysID | Chaîne | La pièce jointe sys_id. |
[Tableau 8. Paramètres]

{#GSA-getContentStream_S__id_sdc_44z_g5b} {#GSA-getContentStream_S__id_nqx_44z_g5b__entry__2}

| Type | Description |
|-|-|
| GlideScriptableInputStream | Flux contenant le contenu de la pièce jointe. |
[Tableau 9. Renvoie]

{#GSA-getContentStream_S__id_nqx_44z_g5b}  

    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, chaîne fileName, chaîne contentType, contenu de la chaîne) {#ariaid-title7}

Joint une pièce jointe spécifiée à l'enregistrement spécifié.
{#GSA-write_GR_S_S_S__id_odn_1pz_g5b__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | GlideRecord | Enregistrement auquel joindre la pièce jointe. |
| fileName | Chaîne | Nom du fichier de la pièce jointe. |
| Type de contenu | Chaîne | Type de contenu de la pièce jointe. |
| contenu | Chaîne | Contenu de la pièce jointe. |
[Tableau 10. Paramètres]

{#GSA-write_GR_S_S_S__id_odn_1pz_g5b} {#GSA-write_GR_S_S_S__id_kbx_1pz_g5b__entry__2}

| Type | Description |
|-|-|
| Chaîne | La pièce jointe sys_id. Renvoie null si la pièce jointe n'a pas été ajoutée. |
[Tableau 11. Renvoie]

{#GSA-write_GR_S_S_S__id_kbx_1pz_g5b}  

    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, String, fileName, String, contentType, GlideScriptableInputStream, inputStream) {#ariaid-title8}

Insère une pièce jointe à l'aide du flux d'entrée.
{#GSA-writeContentStrm_GR_S_S_GSIS__id_trk_jpz_g5b__entry__3}

| Nom | Type | Description |
|-|-|-|
| now_GR | GlideRecord | Enregistrement auquel la pièce jointe doit être jointe. |
| fileName | Chaîne | Nom de fichier de la pièce jointe. |
| Type de contenu | Chaîne | Type de contenu de la pièce jointe. |
| contenu | GlideScriptableInputStream | Contenu de la pièce jointe. |
[Tableau 12. Paramètres]

{#GSA-writeContentStrm_GR_S_S_GSIS__id_trk_jpz_g5b} {#GSA-writeContentStrm_GR_S_S_GSIS__id_ncv_jpz_g5b__entry__2}

| Type | Description |
|-|-|
| Chaîne | Sys_id de la pièce jointe créée. |
[Tableau 13. Renvoie]

{#GSA-writeContentStrm_GR_S_S_GSIS__id_ncv_jpz_g5b}  
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");
    }


