GlideSysAttachment – Scoped
Die GlideSysAttachment-API bietet eine Möglichkeit zum Bearbeiten von Anhängen.
Inhalt wird als Zeichenfolge zurückgegeben, nicht als Byte-Array, wenn getContent() aufgerufen wird.
Inhalt wird als GlideScriptableInputStream-Objekt zurückgegeben, wenn getContentStream() aufgerufen wird. GlideScriptableInputStream enthält die tatsächlichen Byte, die nicht in eine Zeichenfolge umgewandelt wurden.
Scoped GlideSysAttachment – copy(String sourceTable, String sourceID, String targetTable, String targetID)
Kopiert Anhänge aus dem Quelldatensatz in den Zieldatensatz.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceTable | Zeichenfolge | Name der Tabelle mit den Anhängen, die kopiert werden sollen. |
| sourceID | Zeichenfolge | sys_id der Quelltabelle. |
| targetTable | Zeichenfolge | Name der Tabelle, der die Anhänge hinzugefügt werden sollen. |
| targetID | Zeichenfolge | sys_id der Zieltabelle. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Array von sys_ids der Anhänge, die kopiert wurden. |
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);
Ausgabe:
Copied attachments: 6e4621df1bc420501363ff37dc4bcbb0,a87769531b0820501363ff37dc4bcba2
Scoped GlideSysAttachment – deleteAttachment(String attachmentID)
Löscht den angegebenen Anhang.
| Name | Typ | Beschreibung |
|---|---|---|
| attachmentID | Zeichenfolge | sys_id des Anhangs. |
| Typ | Beschreibung |
|---|---|
| void |
var attachment = new GlideSysAttachment();
var attachmentSysID = 'a87769531b0820501363ff37dc4bcba2';
attachment.deleteAttachment(attachmentSysID);
Scoped GlideSysAttachment – getAttachments(String tableName, String sys_id)
Gibt einen GlideRecord zurück, der die übereinstimmenden Anhangmetadaten wie Name, Typ oder Größe enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Name der Tabelle, zu der der Anhang gehört; Beispiel: Incident. |
| sys_id | Zeichenfolge | Die sys_id des Datensatzes, zu dem der Anhang gehört. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | GlideRecord-Objekt, das die entsprechenden Anhangmetadaten wie Name, Typ oder Größe enthält. |
Das folgende Skript listet die Namen der Anhangsdateien für einen Datensatz mit zwei Anhängen auf.
var attachment = new GlideSysAttachment();
var agr = attachment.getAttachments('<table_name>', '<record_sys_id>');
while(agr.next())
gs.info(agr.getValue('file_name'));
Ausgabe:
*** Script: filename1.txt
*** Script: filename2.txt
Scoped GlideSysAttachment – getContent(GlideRecord sysAttachment)
Gibt den Inhalt des Anhangs als Zeichenfolge zurück.
Diese Methode ist nur für bereichsbezogene Anwendungen vorgesehen. Diese Methode gibt undefined zurück, wenn sie im globalen Bereich verwendet wird. Um den Inhalt von Anhängen im globalen Bereich zu lesen, verwenden Sie die Methode getContentStream aus der API „ GlideSysAttachment – Global“.
- CSV (*.csv)
- JSON (*.json)
- Text (*.txt)
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Inhalt des Anhangs als Zeichenfolge. Gibt bis zu 5 MB Daten zurück. |
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
}
Ausgabe
Doc1.txt
Attachment content: I am text in a txt file attached to a record.
Scoped GlideSysAttachment – getContentBase64(GlideRecord sysAttachment)
Gibt den Inhalt des Anhangs als Zeichenfolge mit Base64-Codierung zurück.
Diese Methode ist nur für bereichsbezogene Anwendungen vorgesehen. Diese Methode gibt undefined zurück, wenn sie im globalen Bereich verwendet wird. Um den Inhalt von Anhängen im globalen Bereich zu lesen, verwenden Sie die Methode getContentStream aus der API „ GlideSysAttachment – Global“.
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Inhalt des Anhangs als Zeichenfolge mit base64-Codierung. Gibt bis zu 5 MB Daten zurück. |
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
}
Ausgabe
Doc1.txt
Attachment content: SSBhbSB0ZXh0IGluIGEgdHh0IGZpbGUgYXR0YWNoZWQgdG8gYSByZWNvcmQuIA0=
Scoped GlideSysAttachment – getContentStream(String sysID)
Gibt ein GlideScriptableInputStream-Objekt zurück, wenn die sys_id eines Anhangs angegeben wird.
Sie können die GlideTextReader- API verwenden, um den Inhaltsstream zu lesen.
| Name | Typ | Beschreibung |
|---|---|---|
| sysID | Zeichenfolge | sys_id des Anhangs. |
| Typ | Beschreibung |
|---|---|
| GlideScriptableInputStream | Stream, der den Inhalt des Anhangs enthält. |
var attachment = new GlideSysAttachment();
var attachmentSysID = '6e4621df1bc420501363ff37dc4bcbb0';
var attachmentContentStream = attachment.getContentStream(attachmentSysID);
gs.info('Attachment content stream: ' + attachmentContentStream);
Ausgabe:
Attachment content stream: com.glide.communications.GlideScriptableInputStream@14bd299
Scoped GlideSysAttachment – GlideSysAttachment()
Erstellt eine Instanz der GlideSysAttachment-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
Scoped GlideSysAttachment – write(GlideRecord record, String fileName, String contentType, String content)
Hängt einen angegebenen Anhang an den angegebenen Datensatz an.
| Name | Typ | Beschreibung |
|---|---|---|
| Datensatz | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Dateiname des Anhangs. |
| contentType | Zeichenfolge | Inhaltstyp des Anhangs. |
| content | Zeichenfolge | Inhalt des Anhangs. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | sys_id des Anhangs. Gibt NULL zurück, wenn der Anhang nicht hinzugefügt wurde. |
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);
Ausgabe:
The attachment sys_id is: 01271e4317c13311e0ef563dbb9abe34
Scoped GlideSysAttachment – writeBase64(GlideRecord now_GR, String fileName, String contentType, String content_base64Encoded)
Fügt einen Anhang für den angegebenen Datensatz unter Verwendung von base64-codiertem Inhalt ein.
| Name | Typ | Beschreibung |
|---|---|---|
| now_GR | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Dateiname des Anhangs. |
| contentType | Zeichenfolge | Inhaltstyp des Anhangs. |
| content | Zeichenfolge | Inhalt des Anhangs im base64-Format. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Sys_id des erstellten Anhangs. |
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);
Ausgabe
The attachment sys_id is: 10cde9971b0820501363ff37dc4bcba6
Scoped GlideSysAttachment – writeContentStream(GlideRecord now_GR, String fileName, String contentType, GlideScriptableInputStream inputStream)
Fügt einen Anhang mit dem Eingabe-Stream ein.
| Name | Typ | Beschreibung |
|---|---|---|
| now_GR | GlideRecord | Datensatz, an den der Anhang angehängt werden soll. |
| fileName | Zeichenfolge | Dateiname des Anhangs. |
| contentType | Zeichenfolge | Inhaltstyp des Anhangs. |
| content | GlideScriptableInputStream | Inhalt des Anhangs. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Sys_id des erstellten Anhangs. |
Hängt einen Inhaltsstream aus der Tabelle sys_attachment an einen test_table-Datensatz an.
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");
}