/ / Ako oddeliť viacdielne / formové dáta pomocou boudary v node.js - node.js, azure, http-post, azure-functions

Ako oddeliť multipart / form-data s boudary v node.js - node.js, azure, http-post, azure-function

Obsah prijatej správy z HttpPost

Na Node.js mám spustenú funkciu Azure

Prichádzajúca správa má typ obsahu so zadanou hranicou.

"content-type": "multipart/form-data;
boundary=------------------------8bb0bdeb26804014" },

Ako môžem získať objekt nájdený v požiadavke RawRequest?

--------------------------8bb0bdeb26804014rnContent-Disposition: form data; name="rawRequest"rnrn

{"slug":"submit\/80705882093865\/",
"q1_nombres":"first":"textbox_sample0",
"last":"textbox_sample1"},
"q3_email":"john@example.com",
"preview":"true"}rn

Edit1:

Zatiaľ to robím:

var parts = req.headers["content-type"].split("boundary=");
var boundary = parts[1];
context.log("Boundary: "+boundary);
var splitBody = req.body.split( boundary );
context.log("RawRequest: "+splitBody[8]);

Stále by som to však musel obísť:

Content-Disposition: form-data; name="rawRequest"

{"slug":"submit/80705882093865/",
"q1_nombres":{"first":"textbox_sample0",
"last":"textbox_sample1"},
"q3_email":"john@example.com",
"preview":"true"} --

A zdá sa byť veľmi náchylný na zlomenie, ak začnem s reťazcom manipulovať ešte ďalej.

odpovede:

0 pre odpoveď č. 1

Čo tak vyskúšať substring() spôsob, ako to dosiahnuť?

var indexStart = splitBody.indexOf("{");
var indexEnd = splitBody.lastIndexOf("}") + 1;
var rawRequest = str.substring(indexStart, indexEnd);
console.log(rawRequest);