Anhänge in einem message -Objekt bearbeiten
Das Objekt message stellt APIs und Eigenschaften zum Bearbeiten von Nachrichtenanhängen bereit.
Wenn die Assembly eine Parserrichtlinie enthält, können Anhänge in der Anforderung oder Antwort einer mehrteiligen Nachricht bearbeitet und an den Client zurückgesendet werden. Standardmäßig wird die Antwort im mehrteiligen Format an den Client gesendet.
Einschränkung: Sie können keinen Anhang zu einer Anforderung oder Antwort hinzufügen, die keine vorhandenen Anhänge enthält.
Alternativ können Sie context.message.attachments abwählen, um die Anhänge zu verwerfen und nur message.body an den Client zu senden.Hinweis: Wenn die Assembly keine Parserrichtlinie enthält, gelten die folgenden Verarbeitungsregeln.
- Bei einer mehrteiligen Anforderung, bei der die Variable
message.bodynicht geändert wird, behält die invoke-Richtlinie die Anhänge und übergibt sie an den Server. - Bei einer mehrteiligen Anforderung oder Antwort, bei der die Variable
message.bodynicht geändert wird, übergibt die Ergebnis-API-Aktion die Anhänge als endgültige Antwort. - Wenn die Variable
message.bodygeändert wird, werden Anhänge verworfen.
Anhang abrufen
- GatewayScript-Beispiele
- Rufen Sie die Anlage nach Indexposition ab.
context.message.attachments[1]
Anhängen eines Anhangs an die Nachricht
- GatewayScript-Beispiel
var headers = JSON.parse ( '{ "Content-Type": "text/xml; charset=utf-8", "Content-Id": "<data>" }' ); context.message.attachments.append(headers, 'Hello world.');
Anzahl der Anhänge in einem Array abrufen
- Beispiel
for (var i = 0; i < context.message.attachments.count; i++) { context.message.attachments[i].header.set('X-Foo', 'bar'); }
Anhang aus der Nachricht entfernen
- GatewayScript-Beispiele
- Entfernen Sie die Anlage nach Indexposition.
context.message.attachments.remove(1)
Lesen, Zugreifen und Bearbeiten des Körpers eines Anhangs
- GatewayScript-Beispiele
- Gehen Sie wie folgt vor, um die Nutzdaten eines Anhangs im Binärformat zu lesen und den Inhalt als
Buffer-,Buffers-,JSON-oderXML NodeList-Objekt zurückzugeben:context.message.attachments[0].body.readAsBuffer(function(errorObject,bufferObject){}) context.message.attachments[0].body.readAsBuffers(function(errorObject,buffersObject){}) context.message.attachments[0].body.readAsJSON(function(errorObject,jsonObject){}) context.message.attachments[0].body.readAsXML(function(errorObject,nodeList){})So schreiben Sie den InhaltHello worldin die aktuellen Nutzdaten des Anhangs:message.attachments[0].body.write("Hello world")
Header eines Anhangs bearbeiten
- GatewayScript-Beispiele
- Gehen Sie wie folgt vor, um die Werte der gesamten Anhangsheader abzurufen:
context.message.attachments[0].headersSo rufen Sie den Wert des benannten Headers des Anhangs ab:context.message.attachments[0].header.get();Löscht den aktuellenContent-Type-Header des Anhangs.context.message.attachments[0].header.remove('Content-Type');Sie können den Wert des benannten Headers eines Anhangs festlegen. Der Header kann verbunden und nicht verbunden sein. Nehmen Sie den folgenden Code als Beispiel.
Wenn der Werttyp "array" ist, ist dercontext.message.attachments[0].header.set('MyCookie', ['cookie1', 'cookie2']);MyCookie-Header nicht zusammengeführt und mit unterschiedlichen Einträgen im HTTP -Header vorhanden.MyCookie: cookie1 MyCookie: cookie2