GlideSysAttachment: Bereichsbezogen
Die GlideSysAttachment- API bietet Methoden zum Verarbeiten 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 Bytes, die nicht in eine Zeichenfolge konvertiert wurden.
Scoped GlideSysAttachment – GlideSysAttachment()
Erstellt eine Instanz der GlideSysAttachment-Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
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, in 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);
Bereichsbezogenes GlideSysAttachment – getAttachments(String tableName, String sys_id)
Gibt einen GlideRecord zurück, der die übereinstimmenden Anhangsmetadaten 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 | Sys_id des Datensatzes, zu dem der Anhang gehört. |
| Typ | Beschreibung |
|---|---|
| GlideRecord | GlideRecord-Objekt mit den entsprechenden Anhangmetadaten wie Name, Typ oder Größe. |
Das folgende Skript listet Anhangdateinamen 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 zur Verwendung in bereichsbezogenen Anwendungen vorgesehen. Diese Methode gibt bei Verwendung im globalen Bereich undefinierte zurück. Um Anhangsinhalte im globalen Bereich zu lesen, verwenden Sie die getContentStream- Methode aus der GlideSysAttachment-Global- API.
- CSV (*.csv)
- JSON (*.json)
- Text (*.txt)
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Anhangsinhalte 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.
Bereichsbezogenes GlideSysAttachment – getContentBase64(GlideRecord sysAttachment)
Gibt den Inhalt des Anhangs als Zeichenfolge mit Base64-Codierung zurück.
Diese Methode ist nur zur Verwendung in bereichsbezogenen Anwendungen vorgesehen. Diese Methode gibt bei Verwendung im globalen Bereich undefinierte zurück. Um Anhangsinhalte im globalen Bereich zu lesen, verwenden Sie die getContentStream- Methode aus der GlideSysAttachment-Global- API.
| Name | Typ | Beschreibung |
|---|---|---|
| sysAttachment | GlideRecord | Anhangsdatensatz. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Anhangsinhalte 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=
Bereichsbezogenes GlideSysAttachment – getContentStream(String sysID)
Gibt ein GlideScriptableInputStream-Objekt anhand der sys_id eines Anhangs zurück.
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 – write(GlideRecord record, String fileName, String contentType, String content)
Hängt dem angegebenen Datensatz einen angegebenen Anhang 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
Bereichsbezogenes 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 | Anhangsinhalt 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
Bereichsbezogenes 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");
}