GlideSysAttachment - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 10 min. de leitura
  • . GlideSysAttachment A API fornece métodos para lidar com anexos.

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

    GlideSysAttachment - GlideSysAttachment ()

    Cria uma instância da classe GlideSysAttachment.

    Nota:
    Este construtor só usa um sys_id de anexo como uma cadeia de caracteres ao gerenciar atributos de anexo.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    IdAttachmentAttributes Cadeia de caracteres Sys_id de um anexo com atributos. Para determinar se um anexo tem atributos, use GlideSysAttachment - fetchAllAttributes().

    Tabela: Anexos [sys_attachment]

    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

    O exemplo a seguir mostra como obter todos os atributos atribuídos a um anexo especificado.

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

    Saída:

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

    GlideSysAttachment - addAttribute(cadeia de caracteres attrKey, cadeia de caracteres attrValue)

    Adiciona um único atributo a um registro de anexo existente.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    AttrKey Cadeia de caracteres Parte de chave de um par de chave-valor para um atributo de anexo.
    Attribute Cadeia de caracteres Parte de valor de um par de chave-valor para um atributo de anexo.
    Tabela 3. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar um atributo a um anexo especificado com a chave autor e valor Dirigido por Fred Luddy . Os resultados podem ser exibidos na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

    Key: author 
    Value: Fred Luddy

    GlideSysAttachment - addMultipleAttributes(Object attrsKeyValuePair)

    Adiciona vários atributos a um registro de anexo.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    AttrsKeyValuePair Objeto Atributos de anexo em um conjunto de pares de chave-valor. Cada chave de atributo e seu valor devem ser fornecidos como uma cadeia de caracteres.
    Por exemplo:
    var attachmentAttributes = { 
        "description" : "Photo of the solar system",
        "dimensions" : "1600 x 300"
    }
    Tabela 5. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como adicionar atributos a um anexo especificado. Os resultados também podem ser verificados na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

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

    GlideSysAttachment - cópia (cadeia de caracteres sourceTable, cadeia de caracteres sourceID, cadeia de caracteres targetTable, cadeia de caracteres targetID)

    Copia anexos do registro de origem para o registro de destino.

    Nota:
    Copiar um anexo também copia todos os atributos atribuídos a ele. Você pode exibir uma lista de atributos atribuídos na tabela Atributos de anexo [sys_attachment_list] ou executar o. FetchAllAtributos() método.
    Tabela 6. Parâmetros
    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.
    TargetId Cadeia de caracteres Sys_id da tabela de destino.
    Tabela 7. Retornos
    Tipo Descrição
    Cadeia de caracteres Matriz de sys_ids dos anexos que foram copiados.
    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 - deleteAllAttributes()

    Exclui todos os atributos de um registro de anexo existente.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 9. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se os atributos foram excluídos com sucesso.
    Valores válidos:
    • Verdadeiro: Os atributos foram excluídos com sucesso.
    • Falso: Os atributos não foram excluídos com sucesso.

    O exemplo a seguir mostra como excluir todos os atributos atribuídos a um anexo especificado. Os resultados também podem ser verificados na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

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

    GlideSysAttachment - deleteAttachment(cadeia de caracteres attachmentID)

    Exclui o anexo indicado.

    Nota:
    Excluir um anexo também exclui todos os atributos atribuídos a ele. Você pode exibir uma lista de atributos atribuídos na tabela Atributos de anexo [sys_attachment_list] ou executar o. FetchAllAtributos() método.
    Tabela 10. Parâmetros
    Nome Tipo Descrição
    AnexoID Cadeia de caracteres Sys_id do anexo.
    Tabela 11. Retornos
    Tipo Descrição
    vazio
    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

    GlideSysAttachment - deleteAttribute(cadeia de caracteres attrKey)

    Exclui um atributo especificado do registro de anexo.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    AttrKey Cadeia de caracteres Parte de chave de um par de chave-valor para um atributo de anexo.
    Tabela 13. Retornos
    Tipo Descrição
    Booliano Sinalizador que indica se o atributo de anexo foi excluído com sucesso.
    Valores válidos:
    • Verdadeiro: O atributo de anexo foi excluído com sucesso.
    • Falso: O atributo de anexo não foi excluído com sucesso.

    O exemplo a seguir mostra como excluir um atributo atribuído a um anexo especificado com a chave autor . Os resultados também podem ser verificados na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

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

    GlideSysAttachment - fetchAllAttributes()

    Busca todos os atributos de um registro de anexo especificado.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 15. Retorna
    Tipo Descrição
    GlideRecord O registro do anexo e todos os seus atributos.

    O exemplo a seguir mostra como obter todos os atributos atribuídos a um anexo especificado.

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

    Saída:

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

    GlideSysAttachment - fetchAttribute(cadeia de caracteres attrKey)

    Busca um atributo especificado de um registro de anexo.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    AttrKey Cadeia de caracteres Parte de chave de um par de chave-valor para um atributo de anexo.
    Tabela 17. Retornos
    Tipo Descrição
    GlideRecord GlideRecord do anexo e o atributo especificado.

    O exemplo a seguir mostra como obter um atributo de anexo com a chave autor .

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

    Saída:

    Key: author 
    Value: Abel Tuter

    GlideSysAttachment - getAttachments(cadeia de caracteres tablename, cadeia de caracteres sys_id)

    Retorna um GlideRecord que contém os metadados de anexo correspondentes, como nome, tipo ou tamanho.

    Tabela 18. Parâmetros
    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 19. Retornos
    Tipo Descrição
    GlideRecord Objeto GlideRecord que contém os metadados de anexo correspondentes, como nome, tipo ou tamanho.

    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 - getContentStream (SYSID de cadeia de caracteres)

    Retorna um objeto GlideScriptableInputStream dado o sys_id de um anexo.

    Você pode usar GlideTextReader API para ler o fluxo de conteúdo.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    sysID Cadeia de caracteres Sys_id do anexo.
    Tabela 21. Retornos
    Tipo Descrição
    GlideScriptableInputStream Fluxo que contém o conteúdo do anexo.
    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 - updateAllAttributes(Object attrsKeyValuePair)

    Atualiza todos os atributos de um registro de anexo existente.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    AttrsKeyValuePair Objeto Atributos de anexo em um conjunto de pares de chave-valor. Cada chave de atributo e seu valor devem ser fornecidos como uma cadeia de caracteres.
    Por exemplo:
    var attachmentAttributes = { 
        "description" : "Photo of the solar system",
        "dimensions" : "1600 x 300"
    }
    Tabela 23. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como atualizar cada atributo de um anexo especificado. Os resultados também podem ser verificados na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

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

    GlideSysAttachment - updateAttribute(cadeia de caracteres attrKey, cadeia de caracteres attrValue)

    Atualiza um único atributo para um registro de anexo existente.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    AttrKey Cadeia de caracteres Parte de chave de um par de chave-valor para um atributo de anexo.
    Attribute Cadeia de caracteres Parte de valor de um par de chave-valor para um atributo de anexo.
    Tabela 25. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como atualizar um atributo atribuído a um anexo especificado com a chave autor E muda o valor para Abel Tuter. Os resultados também podem ser verificados na tabela Atributos de anexo [sys_attachment_attribute].

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

    Saída:

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

    GlideSysAttachment - write (registro GlideRecord, cadeia de caracteres do nome do arquivo, cadeia de caracteres contentType, cadeia de caracteres do conteúdo)

    Anexa um anexo especificado ao registro especificado.

    Tabela 26. Parâmetros
    Nome Tipo Descrição
    registro GlideRecord Registro ao qual anexar o anexo.
    nomeArquivo Cadeia de caracteres Nome do arquivo do anexo.
    tipoConteúdo Cadeia de caracteres Tipo MIME do anexo, como imagem/png . Localizado na tabela Anexo [sys_attachment] em Tipo de conteúdo campo.
    conteúdo Cadeia de caracteres Conteúdo do anexo.
    Tabela 27. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do anexo. Retorna nulo se o anexo não foi adicionado.
    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 - writeContentStream(GlideRecord Now_GR, String filename, String contentType, GlideScriptableInputStream)

    Insere um anexo usando o fluxo de entrada.

    Tabela 28. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord Registro ao qual anexar o anexo.
    nomeArquivo Cadeia de caracteres Nome do arquivo do anexo.
    tipoConteúdo Cadeia de caracteres Tipo MIME do anexo, como imagem/png . Localizado na tabela Anexo [sys_attachment] em Tipo de conteúdo campo.
    conteúdo GlideScriptableInputStream Conteúdo do anexo.
    Tabela 29. Retornos
    Tipo Descrição
    Cadeia de caracteres Sys_id do anexo criado.

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