Manipulación de archivos adjuntos en un objeto message
El objeto message proporciona API y propiedades para manipular archivos adjuntos de mensajes.
Si el ensamblaje incluye una política de análisis, los archivos adjuntos de la solicitud o respuesta de un mensaje de varias partes se pueden manipular y devolver al cliente. De forma predeterminada, la respuesta se envía al cliente en formato de varias partes.
Restricción: No se puede añadir un archivo adjunto a una solicitud o respuesta que no contenga archivos adjuntos.
De forma alternativa, puede borrar context.message.attachments para descartar los archivos adjuntos y enviar sólo message.body al cliente.Nota: Si el ensamblaje no incluye una política de análisis, se aplican las siguientes reglas de proceso.
- Para una solicitud de varias partes en la que la variable
message.bodyno se modifica, la política de invocación mantiene y pasa las conexiones al servidor. - Para una solicitud o respuesta de varias partes donde la variable
message.bodyno se cambia, la acción de la API de resultados pasa los archivos adjuntos como respuesta final. - Si se cambia la variable
message.body, se descartan los archivos adjuntos.
Recuperación de un archivo adjunto
- Ejemplos de GatewayScript
- Recuperar el archivo adjunto por ubicación de índice.
context.message.attachments[1]
Adición de un archivo adjunto al mensaje
- Ejemplo de GatewayScript
var headers = JSON.parse ( '{ "Content-Type": "text/xml; charset=utf-8", "Content-Id": "<data>" }' ); context.message.attachments.append(headers, 'Hello world.');
Recuperación del número de archivos adjuntos en una matriz
- Ejemplo
for (var i = 0; i < context.message.attachments.count; i++) { context.message.attachments[i].header.set('X-Foo', 'bar'); }
Eliminación de un archivo adjunto del mensaje
- Ejemplos de GatewayScript
- Elimine el archivo adjunto por ubicación de índice.
context.message.attachments.remove(1)
Leer, acceder y manipular el cuerpo de un archivo adjunto
- Ejemplos de GatewayScript
- Para leer la carga útil de un archivo adjunto en binario y devolver el contenido como un objeto
Buffer,Buffers,JSONoXML NodeList: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){})Para escribir contenidoHello worlden la carga útil actual del archivo adjunto:message.attachments[0].body.write("Hello world")
Manipulación de las cabeceras de un archivo adjunto
- Ejemplos de GatewayScript
- Para recuperar los valores de todas las cabeceras de archivo adjunto:
context.message.attachments[0].headersPara recuperar el valor de la cabecera con nombre del archivo adjunto:context.message.attachments[0].header.get();Para suprimir la cabeceraContent-Typeactual del archivo adjunto.context.message.attachments[0].header.remove('Content-Type');Puede establecer el valor de la cabecera con nombre de un archivo adjunto. La cabecera se puede fusionar y no fusionar. Tome el código siguiente como ejemplo.
Si el tipo de valor es matriz, el encabezado "context.message.attachments[0].header.set('MyCookie', ['cookie1', 'cookie2']);MyCookie" no está unido y está presente con diferentes entradas en el encabezado " HTTP ".MyCookie: cookie1 MyCookie: cookie2