---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideSysAttachment - com escopo

# GlideSysAttachment - com escopo {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

A API GlideSysAttachment fornece métodos para lidar com anexos.

O conteúdo é retornado como uma cadeia de caracteres, não como uma matriz de bytes quando getContent() é chamado.

O conteúdo é retornado como um objeto GlideScriptableInputStream quando getContentStream() é chamado. O GlideScriptableInputStream contém os bytes reais não convertidos em uma cadeia de caracteres.

## GlideSysAttachment com escopo - GlideSysAttachment() {#ariaid-title2}

Cria uma instância da classe GlideSysAttachment.
{#r_SGSA-GlideSysAttachment__table_iys_ctb_fv__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#r_SGSA-GlideSysAttachment__table_iys_ctb_fv}

## GlideSysAttachment com escopo - copy(cadeia de caracteres sourceTable, cadeia de caracteres sourceID, cadeia de caracteres targetTable, cadeia de caracteres targetID) {#ariaid-title3}

Copia anexos do registro de origem para o registro de destino.
{#r_SGSA-copy_S_S_S_S__id_kdj_vjz_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| sourceTable | Cadeia de caracteres | Nome da tabela com os anexos a serem copiados. |
| sourceID | Cadeia de caracteres | sys_id da tabela de origem. |
| targetTable | Cadeia de caracteres | Nome da tabela na qual os anexos serão adicionados. |
| ID do destino | Cadeia de caracteres | sys_id da tabela de destino. |
[Tabela 2. Parâmetros]

{#r_SGSA-copy_S_S_S_S__id_kdj_vjz_g5b} {#r_SGSA-copy_S_S_S_S__id_db3_wjz_g5b__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Matriz de sys_ids dos anexos que foram copiados. |
[Tabela 3. Retorna]

{#r_SGSA-copy_S_S_S_S__id_db3_wjz_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);

Saída:

    Copied attachments: 6e4621df1bc420501363ff37dc4bcbb0,a87769531b0820501363ff37dc4bcba2

## GlideSysAttachment com escopo - deleteAttachment(cadeia de caracteres attachmentID) {#ariaid-title4}

Exclui o anexo indicado.
{#r_SGSA-deleteAttachment_S__id_ajy_dlz_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| ID do anexo | Cadeia de caracteres | sys_id do anexo. |
[Tabela 4. Parâmetros]

{#r_SGSA-deleteAttachment_S__id_ajy_dlz_g5b} {#r_SGSA-deleteAttachment_S__table_gjy_lyb_fv__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 5. Retorna]

{#r_SGSA-deleteAttachment_S__table_gjy_lyb_fv}  

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

## GlideSysAttachment com escopo - getAttachments(cadeia de caracteres "tableName", cadeia de caracteres sys_id) {#ariaid-title5}

Retorna um GlideRecord que contém os metadados do anexo correspondente, como nome, tipo ou tamanho.
{#r_SGSA-getAttachments_S_S__id_bvk_jmz_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| tableName | Cadeia de caracteres | Nome da tabela à qual o anexo pertence; por exemplo, incidente. |
| sys_id | Cadeia de caracteres | Sys_id do registro ao qual o anexo pertence. |
[Tabela 6. Parâmetros]

{#r_SGSA-getAttachments_S_S__id_bvk_jmz_g5b} {#r_SGSA-getAttachments_S_S__id_urm_kmz_g5b__entry__2}

| Tipo | Descrição |
|-|-|
| GlideRecord | Objeto GlideRecord que contém os metadados do anexo correspondente, como nome, tipo ou tamanho. |
[Tabela 7. Retorna]

{#r_SGSA-getAttachments_S_S__id_urm_kmz_g5b}  
O script a seguir lista os nomes de arquivo de anexo para um registro com dois anexos.

    var attachment = new GlideSysAttachment();

    var agr = attachment.getAttachments('<table_name>', '<record_sys_id>');

    while(agr.next())
    gs.info(agr.getValue('file_name'));

Saída:

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

## GlideSysAttachment com escopo - getContent(GlideRecord sysAttachment) {#ariaid-title6}

Retorna o conteúdo do anexo como uma cadeia de caracteres.
Este método é para uso somente em aplicações com escopo. Este método retorna `indefinido` quando usado no escopo global. Para ler o conteúdo do anexo no escopo global, use o método getContentStream da API GlideSysAttachment - Global.  
Este método é compatível com os seguintes tipos de arquivo para anexos.

* CSV (\*.csv)
* JSON (\*.json)
* Texto (\*.txt)
{#r_SGSA-getContent_GR__ul_zd2_w21_cwb}
{#r_SGSA-getContent_GR__table_r2d_cng_2v__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| sysAttachment | GlideRecord | Registro de anexo. |
[Tabela 8. Parâmetros]

{#r_SGSA-getContent_GR__table_r2d_cng_2v} {#r_SGSA-getContent_GR__table_s2d_cng_2v__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Conteúdos do anexo como uma cadeia de caracteres. Retorna até 5 MB de dados. |
[Tabela 9. Retorna]

{#r_SGSA-getContent_GR__table_s2d_cng_2v}  

    var attachment = new GlideSysAttachment();

    var agr = attachment.getAttachments('incident', '78271e1347c12200e0ef563dbb9a7109'); //create attachment GlideRecord

    while(agr.next()) { //for each attachment on the incident record
       gs.info(agr.getValue('file_name')); //print file name of attachment
       var attachmentContent = attachment.getContent(agr);
       gs.info('Attachment content: ' + attachmentContent); //print attachment content
    }

Saída:

    Doc1.txt
    Attachment content: I am text in a txt file attached to a record.

## GlideSysAttachment com escopo - getContentBase64(GlideRecord sysAttachment) {#ariaid-title7}

Retorna o conteúdo do anexo como uma cadeia de caracteres com codificação base64.
Este método é para uso somente em aplicações com escopo. Este método retorna `indefinido` quando usado no escopo global. Para ler o conteúdo do anexo no escopo global, use o método getContentStream da API GlideSysAttachment - Global.
{#r_SGSA-getContentBase64_GR__table_kds_4sb_fv__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| sysAttachment | GlideRecord | Registro de anexo. |
[Tabela 10. Parâmetros]

{#r_SGSA-getContentBase64_GR__table_kds_4sb_fv} {#r_SGSA-getContentBase64_GR__table_lds_4sb_fv__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Conteúdos do anexo como uma cadeia de caracteres com codificação base64. Retorna até 5 MB de dados. |
[Tabela 11. Retorna]

{#r_SGSA-getContentBase64_GR__table_lds_4sb_fv}  

    var attachment = new GlideSysAttachment();

    var agr = attachment.getAttachments('incident', '78271e1347c12200e0ef563dbb9a7109'); //create attachment GlideRecord

    while(agr.next()) { //for each attachment on the incident record
       gs.info(agr.getValue('file_name')); //print file name of attachment
       var attachmentContent = attachment.getContentBase64(agr);
       gs.info('Attachment content: ' + attachmentContent); //print attachment content
    }

Saída:

    Doc1.txt
    Attachment content: SSBhbSB0ZXh0IGluIGEgdHh0IGZpbGUgYXR0YWNoZWQgdG8gYSByZWNvcmQuIA0=

## GlideSysAttachment com escopo - getContentStream(String sysID) {#ariaid-title8}

Retorna um objeto GlideScriptableInputStream de acordo com o sys_id de um anexo.
Você pode usar a API [GlideTextReader](https://servicenow-prod.fluidtopics.net/Q0sJfLvZn0JAAbjLHIu17g#c_GlideTextReaderScopedAPI "A API GlideTextReader oferece a capacidade de ler linhas únicas de um fluxo de entrada. Como um fluxo de entrada é usado, ele não está sujeito ao limite de tamanho de anexo de 5 MB.") para ler o fluxo de conteúdo.
{#r_SGSA-getContentStream_S__id_xhr_q4z_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| sysID | Cadeia de caracteres | sys_id do anexo. |
[Tabela 12. Parâmetros]

{#r_SGSA-getContentStream_S__id_xhr_q4z_g5b} {#r_SGSA-getContentStream_S__id_yry_q4z_g5b__entry__2}

| Tipo | Descrição |
|-|-|
| GlideScriptableInputStream | Fluxo que contém o conteúdo do anexo. |
[Tabela 13. Retorna]

{#r_SGSA-getContentStream_S__id_yry_q4z_g5b}  

    var attachment = new GlideSysAttachment();
    var attachmentSysID = '6e4621df1bc420501363ff37dc4bcbb0';
    var attachmentContentStream = attachment.getContentStream(attachmentSysID);
    gs.info('Attachment content stream: ' + attachmentContentStream);

Saída:

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

## GlideSysAttachment com escopo - write(GlideRecord record, String fileName, String contentType, String content) {#ariaid-title9}

Anexa um anexo especificado ao registro especificado.
{#r_SGSA-write_GR_S_S_S__id_zx4_v4z_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | GlideRecord | Registro ao qual o anexo será anexado. |
| NomeDoArquivo | Cadeia de caracteres | Nome do arquivo de anexo. |
| contentType | Cadeia de caracteres | Tipo de conteúdo de anexo. |
| conteúdo | Cadeia de caracteres | Conteúdo do anexo. |
[Tabela 14. Parâmetros]

{#r_SGSA-write_GR_S_S_S__id_zx4_v4z_g5b} {#r_SGSA-write_GR_S_S_S__id_rnx_v4z_g5b__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | sys_id do anexo. Retorna nulo se o anexo não tiver sido adicionado. |
[Tabela 15. Retorna]

{#r_SGSA-write_GR_S_S_S__id_rnx_v4z_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);

Saída:

    The attachment sys_id is: 01271e4317c13311e0ef563dbb9abe34

## GlideSysAttachment com escopo - writeBase64(GlideRecord now_GR, cadeia de caracteres fileName, cadeia de caracteres contentType, cadeia de caracteres content_base64Encoded) {#ariaid-title10}

Insere um anexo no registro especificado usando conteúdo codificado em base64.
{#r_SGSA-writeBase64_GR_S_S_S__table_nfx_fwx_hx__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| now_GR | GlideRecord | Registro ao qual o anexo será anexado. |
| NomeDoArquivo | Cadeia de caracteres | Nome do arquivo do anexo. |
| contentType | Cadeia de caracteres | Tipo de conteúdo do anexo. |
| conteúdo | Cadeia de caracteres | Conteúdo do anexo no formato base64. |
[Tabela 16. Parâmetros]

{#r_SGSA-writeBase64_GR_S_S_S__table_nfx_fwx_hx} {#r_SGSA-writeBase64_GR_S_S_S__table_ofx_fwx_hx__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Sys_id do anexo criado. |
[Tabela 17. Retorna]

{#r_SGSA-writeBase64_GR_S_S_S__table_ofx_fwx_hx}  

    var attachment = new GlideSysAttachment();

    var rec = new GlideRecord('incident');
    var incidentSysID = 'ab1b30031b04ec101363ff37dc4bcbfc';
    rec.get(incidentSysID);
    var fileName = 'example.txt';
    var contentType = 'text/csv';
    var base64Encodedcontent = 'SSBhbSB0ZXh0Lg==';

    var agr = attachment.writeBase64(rec, fileName, contentType, base64Encodedcontent);

    gs.info('The attachment sys_id is: ' + agr);

Saída:

    The attachment sys_id is: 10cde9971b0820501363ff37dc4bcba6

## GlideSysAttachment com escopo - writeContentStream(GlideRecord now_GR, cadeia de caracteres fileName, cadeia de caracteres contentType, GlideScriptableInputStream inputStream) {#ariaid-title11}

Insere um anexo usando o fluxo de entrada.
{#r_SGS-writeContentStrm_GR_S_S_GSIS__id_n5v_npz_g5b__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| now_GR | GlideRecord | Registro ao qual o anexo será anexado. |
| NomeDoArquivo | Cadeia de caracteres | Nome do arquivo do anexo. |
| contentType | Cadeia de caracteres | Tipo de conteúdo do anexo. |
| conteúdo | GlideScriptableInputStream | Conteúdo do anexo. |
[Tabela 18. Parâmetros]

{#r_SGS-writeContentStrm_GR_S_S_GSIS__id_n5v_npz_g5b} {#r_SGS-writeContentStrm_GR_S_S_GSIS__id_lkf_npz_g5b__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Sys_id do anexo criado. |
[Tabela 19. Retorna]

{#r_SGS-writeContentStrm_GR_S_S_GSIS__id_lkf_npz_g5b}  
Anexa um fluxo de conteúdo da tabela sys_attachment a um registro 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");
    }


