GlideSysAttachment - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • A API GlideSysAttachment fornece uma maneira de 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 - copy(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.

    Tabela 1. 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.
    ID de destino Cadeia de caracteres sys_id da tabela de destino.
    Tabela 2. Retorna
    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 - deleteAttachment(cadeia de caracteres attachmentID)

    Exclui o anexo indicado.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    ID do anexo Cadeia de caracteres sys_id do anexo.
    Tabela 4. Retorna
    Tipo Descrição
    vazio
    var attachment = new GlideSysAttachment();
    var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
    attachment.deleteAttachment(attachmentSysID);

    GlideSysAttachment - getAttachments(cadeia de caracteres "tableName", cadeia de caracteres sys_id)

    Retorna um GlideRecord contendo os metadados do anexo correspondente, como nome, tipo ou tamanho.

    Tabela 5. 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 O sys_id do registro ao qual o anexo pertence.
    Tabela 6. Retorna
    Tipo Descrição
    GlideRecord Objeto GlideRecord que contém os metadados do anexo correspondente, 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(cadeia de caracteres sysID)

    Retorna um objeto GlideScriptableInputStream de acordo com o sys_id de um anexo.

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

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    sysID Cadeia de caracteres sys_id do anexo.
    Tabela 8. Retorna
    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 — GlideSysAttachment()

    Cria uma instância da classe GlideSysAttachment.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum

    GlideSysAttachment - write(registro GlideRecord, Cadeia de caracteres fileName, Cadeia de caracteres contentType, Cadeia de caracteres conteúdo)

    Anexa um anexo especificado ao registro especificado.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    registro GlideRecord Registro ao qual anexar o anexo.
    fileName Cadeia de caracteres Nome do arquivo do anexo.
    contentType Cadeia de caracteres Tipo de conteúdo de anexo.
    conteúdo Cadeia de caracteres Conteúdo do anexo.
    Tabela 11. Retorna
    Tipo Descrição
    Cadeia de caracteres sys_id do anexo. Retornará nulo se o anexo não tiver sido 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, Cadeia de caracteres fileName, Cadeia de caracteres contentType, GlideScriptableInputStream inputStream)

    Insere um anexo usando o fluxo de entrada.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    now_GR GlideRecord Registro ao qual o anexo será anexado.
    fileName 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 13. Retorna
    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");
    }