GlideSysAttachment : global
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é. GlideScriptableInputStream contient les octets réels non convertis en chaîne.
Restriction du périmètre de l’API de chiffrement
Les méthodes qui gèrent les contextes de chiffrement, les modules de chiffrement ou l’état de chiffrement ne sont disponibles que dans l’application globale. Ces API sont intentionnellement restreintes, car elles modifient la configuration de sécurité au niveau de la plateforme.
GlideSysAttachment : GlideSysAttachment()
Crée une instance de la classe GlideSysAttachment.
| Nom | Type | Description |
|---|---|---|
| idAttachmentAttributes | Chaîne | Ce paramètre n’est utilisé que lors de la gestion des attributs de pièce jointe, sinon laissez vide. Sys_id d’une pièce jointe avec des attributs. Table : pièces jointes [sys_attachment] |
Le script suivant répertorie les noms de fichier 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
L’exemple suivant montre comment obtenir tous les attributs affectés à une pièce jointe spécifiée.
var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
var result = attach.fetchAllAttributes();
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Sortie :
Key: title, Value: Add multiple attributes to an attachment
Key: author, Value: Abel Tuter
Key: category, Value: KB
Key: length, Value: 5000
GlideSysAttachment : addAttribute(String attrKey, String attrValue)
Ajoute un attribut unique à un enregistrement de pièce jointe existant.
- addMultipleAttributes()
- deleteAllAttributes()
- deleteAttribute()
- fetchAllAttributes()
- fetchAttribute()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| attrKey | Chaîne | Portion clé d’une paire clé-valeur pour un attribut de pièce jointe. |
| attrValue | Chaîne | Portion de valeur d’une paire clé-valeur pour un attribut de pièce jointe. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter un attribut à une pièce jointe spécifiée avec l’auteur et valeur de clé Fred Luddy. Les résultats peuvent être visualisés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Key: author
Value: Fred Luddy
GlideSysAttachment : addMultipleAttributes(Object attrsKeyValuePair)
Ajoute plusieurs attributs à un enregistrement de pièce jointe.
- addAttribute()
- deleteAllAttributes()
- deleteAttribute()
- fetchAllAttributes()
- fetchAttribute()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| attrsKeyValuePair | Objet | Attributs de pièce jointe dans un ensemble de paires clé-valeur. Chaque clé d’attribut et sa valeur doivent être fournies sous forme de chaîne. Par exemple : |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment ajouter des attributs à une pièce jointe spécifiée. Les résultats peuvent également être vérifiés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Key: title, Value: Add multiple attributes to an attachment
Key: author, Value: Abel Tuter
Key: category, Value: KB
Key: length, Value: 5000
GlideSysAttachment : copy(chaîne sourceTable, chaîne sourceID, chaîne targetTable, chaîne targetID)
Copie les pièces jointes de l’enregistrement source vers l’enregistrement cible.
| 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 sur laquelle ajouter les pièces jointes. |
| targetID | Chaîne | sys_id de l’enregistrement dans la table cible sur laquelle copier la pièce jointe. |
| Type | Description |
|---|---|
| Chaîne | Tableau des sys_ids des pièces jointes copiées. Table : pièces jointes [sys_attachment] |
Cet exemple montre comment copier des pièces jointes d’un enregistrement d’incident vers un enregistrement de problème.
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 : deleteAllAttributes()
Supprime tous les attributs d’un enregistrement de pièce jointe existant.
- addAttribute()
- addMultipleAttributes()
- deleteAttribute()
- fetchAllAttributes()
- fetchAttribute()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si les attributs ont été supprimés avec succès. Valeurs valides :
|
L’exemple suivant montre comment supprimer tous les attributs affectés à une pièce jointe spécifiée. Les résultats peuvent également être vérifiés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Attribute "null" not found for attachment "04f48541083e2e50f877df7a115e31f3"
GlideSysAttachment : deleteAttachment(chaîne attachmentID)
Supprime la pièce jointe spécifiée.
| Nom | Type | Description |
|---|---|---|
| ID pièce jointe | Chaîne | La pièce jointe sys_id. Table : pièces jointes [sys_attachment] |
| Type | Description |
|---|---|
| Néant |
var attachment = new GlideSysAttachment();
var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
attachment.deleteAttachment(attachmentSysID);
GlideSysAttachment : deleteAttribute(String attrKey)
Supprime un attribut spécifié de l’enregistrement de pièce jointe.
- addAttribute()
- addMultipleAttributes()
- deleteAllAttributes()
- fetchAllAttributes()
- fetchAttribute()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| attrKey | Chaîne | Portion clé d’une paire clé-valeur pour un attribut de pièce jointe. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’attribut de pièce jointe a été supprimé avec succès. Valeurs valides :
|
L’exemple suivant montre comment supprimer un attribut affecté à une pièce jointe spécifiée avec l’auteur de clé. Les résultats peuvent également être vérifiés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Attribute "author" not found for attachment "04f48541083e2e50f877df7a115e31f3"
GlideSysAttachment : fetchAllAttributes()
Récupère tous les attributs à partir d’un enregistrement de pièce jointe spécifié.
- addAttribute()
- addMultipleAttributes()
- deleteAllAttributes()
- deleteAttribute()
- fetchAttribute()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| GlideRecord | L’enregistrement de pièce jointe et tous ses attributs. |
L’exemple suivant montre comment obtenir tous les attributs affectés à une pièce jointe spécifiée.
var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
var result = attach.fetchAllAttributes();
while(result.next()) {
gs.info("Key: " + result.getValue('key') + ", Value: " + result.getValue('value'));
}
Sortie :
Key: title, Value: Add multiple attributes to an attachment
Key: author, Value: Abel Tuter
Key: category, Value: KB
Key: length, Value: 5000
GlideSysAttachment : fetchAttribute(String attrKey)
Récupère un attribut spécifié à partir d’un enregistrement de pièce jointe.
- addAttribute()
- addMultipleAttributes()
- deleteAllAttributes()
- deleteAttribute()
- fetchAllAttributes()
- updateAllAttributes()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| attrKey | Chaîne | Portion clé d’une paire clé-valeur pour un attribut de pièce jointe. |
| Type | Description |
|---|---|
| GlideRecord | GlideRecord de la pièce jointe et de l’attribut spécifié. |
L’exemple suivant montre comment obtenir un attribut de pièce jointe avec l’auteur de clé.
var attach = new GlideSysAttachment("04f48541083e2e50f877df7a115e31f3");
var result = attach.fetchAttribute("author");
while(result.next()) {
gs.info("Key: " + result.getValue('key') + " \nValue: " + result.getValue('value'));
}
Sortie :
Key: author
Value: Abel Tuter
GlideSysAttachment : getAttachments(String tableName, String sys_id)
Renvoie un GlideRecord contenant les métadonnées de pièce jointe correspondantes telles que le nom, le type ou la taille.
| 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. |
| 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 fichier 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(sysID de la chaîne)
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.
| Nom | Type | Description |
|---|---|---|
| sysID | Chaîne | Pièce jointe sys_id. |
| 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 : updateAllAttributes(Object attrsKeyValuePair)
Met à jour tous les attributs d’un enregistrement de pièce jointe existant.
- addAttribute()
- addMultipleAttributes()
- deleteAllAttributes()
- deleteAttribute()
- fetchAllAttributes()
- fetchAttribute()
- updateAttribute()
| Nom | Type | Description |
|---|---|---|
| attrsKeyValuePair | Objet | Attributs de pièce jointe dans un ensemble de paires clé-valeur. Chaque clé d’attribut et sa valeur doivent être fournies sous forme de chaîne. Par exemple : |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment mettre à jour chaque attribut pour une pièce jointe spécifiée. Les résultats peuvent également être vérifiés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Key: title, Value: Updating attachment attributes
Key: author, Value: Abraham Lincoln
Key: category, Value: Training
Key: length, Value: 6000
GlideSysAttachment : updateAttribute(String attrKey, String attrValue)
Met à jour un attribut unique pour un enregistrement de pièce jointe existant.
- addAttribute()
- addMultipleAttributes()
- deleteAllAttributes()
- deleteAttribute()
- fetchAllAttributes()
- fetchAttribute()
- updateAllAttributes()
| Nom | Type | Description |
|---|---|---|
| attrKey | Chaîne | Portion clé d’une paire clé-valeur pour un attribut de pièce jointe. |
| attrValue | Chaîne | Portion de valeur d’une paire clé-valeur pour un attribut de pièce jointe. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment mettre à jour un attribut affecté à une pièce jointe spécifiée avec l’auteur de clé et change la valeur en Abel Tuter. Les résultats peuvent également être vérifiés dans le tableau Attributs de pièce jointe [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'));
}
Sortie :
Original attribute value: Fred Luddy
Updated attribute value: Abel Tuter
GlideSysAttachment : écriture (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é.
| Nom | Type | Description |
|---|---|---|
| enregistrement | GlideRecord | Enregistrement auquel joindre la pièce jointe. |
| fileName | Chaîne | Nom de fichier de la pièce jointe. |
| contentType | Chaîne | Type MIME de la pièce jointe, tel que image/png. Situé dans la table Pièce jointe [sys_attachment] dans le champ Type de contenu . |
| contenu | Chaîne | Contenu de la pièce jointe. |
| 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.
| Nom | Type | Description |
|---|---|---|
| now_GR | GlideRecord | Enregistrement auquel joindre la pièce jointe. |
| fileName | Chaîne | Nom de fichier de la pièce jointe. |
| contentType | Chaîne | Type MIME de la pièce jointe, tel que image/png. Situé dans la table Pièce jointe [sys_attachment] dans le champ Type de contenu . |
| contenu | GlideScriptableInputStream | Contenu de la pièce jointe. |
| 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");
}