Obrigado Thomas, resolvi com:
request.setBody(filecontent);
Gennaro
Avalados por :
Olá,
Estou tentando enviar um "multipart/form-data" com o método POST a partir de xsjs e ao mesmo tempo chamar um método Java.
xsjs
var request = new $.web.WebRequest($.net.http.POST,"/entity");
request.headers.set("Content-Type","multipart/form-data");
request.setBody(contents);
Mas em Java, quando faço:
Collection <Part> Parts = request.getParts();
retorna nulo, enquanto que quando faço:
InputStream is =request.getInputStream();
retorna um valor adequado. Quero que meus dados estejam em Parts. O que devo fazer?
Obrigado Thomas, resolvi com:
request.setBody(filecontent);
Gennaro
No exemplo anterior, apenas uma entidade/parte foi criada. Suponho que se você enviar apenas uma parte, o objeto de solicitação seja inteligente o suficiente para colocá-la diretamente no corpo. Se realmente deseja usar várias partes, adicione mais de uma parte lá.
Olá Thomas,
Estou com o mesmo problema, mas ainda não encontrei uma solução. Eu utilizei 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());
Mas em Java, meu objeto de requisição tem as partes sem valores (tamanho = 0).
Obrigado,
Gennaro
Por sua própria natureza, request.setBody não é multipart. Se você deseja multipart, deve criar entidades individuais no objeto request.
Cada entidade possui seu próprio corpo ao qual conteúdo pode ser estabelecido.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute