Gracias Thomas, resolví con:
request.setBody(filecontent);
Gennaro
Avalados por :
Hola,
Estoy intentando enviar un "multipart/form-data" con el método POST desde xsjs y a su vez llamar a un método Java.
xsjs
var request = new $.web.WebRequest($.net.http.POST,"/entity");
request.headers.set("Content-Type","multipart/form-data");
request.setBody(contents);
Pero en Java, cuando hago:
Collection <Part> Parts = request.getParts();
devuelve null, mientras que cuando hago:
InputStream is =request.getInputStream();
devuelve un valor adecuado. Quiero que mis datos estén en Parts. ¿Qué debo hacer?
Gracias Thomas, resolví con:
request.setBody(filecontent);
Gennaro
En el ejemplo anterior, solo se creó una entidad/parte. Imagino que si solo envías una parte, el objeto de solicitud es lo suficientemente inteligente como para colocarla directamente en el cuerpo. Si realmente deseas utilizar varias partes, agrega más de una parte allí.
Hola Thomas,
Tengo el mismo problema, pero aún no encuentro una solución. He utilizado este código:
PARTE XSJS:
var client = new $.net.http.Client();
var destination = $.net.http.readDestination("destination", "destination");
var request = new $.net.http.Request($.net.http.POST, "/");
request.contentType = "multipart/form-data";
var entity = request.entities.create();
request.entities[0].contentType = $.request.entities[i].contentType;
request.entities[0].headers.set("Content-Disposition", "form-data; name=\"files[\"filename.pdf\"]\"; filename=\"filename.pdf\"");
request.entities[0].setBody(file.asArrayBuffer());
Pero en Java, mi objeto de solicitud tiene las partes sin valores (tamaño = 0).
Gracias,
Gennaro
Por su propia naturaleza, request.setBody no es multipart. Si deseas multipart, debes crear entidades individuales en el objeto request.
Cada entidad tiene su propio cuerpo al que se le puede establecer contenido.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute