Мое приложение работает на Nodejs сервере, а Nodejs также действует как промежуточное ПО / прокси для запросов, исходящих из приложения. Таким образом, из браузера все вызовы REST переходят на NodeJs, а затем на Java API.
Я вижу проблему обработки запросов с данными из нескольких частей.
Я перехватываю загрузку файла REST позвоните из браузера в моем nodejs, проанализируйте запрос с помощью многопартийной библиотеки и сформируйте объект данных формы из запроса на загрузку файла.
Я использую модуль https для отправки данных в API, так как мне это сделать? отправить запрос данных формы в API через https?
Я отправляю Content-Type как multipart / form-data; border = ---- WebKitFormBoundary6fyv95baqEpoGJaK, полученный из браузера.
var https = require('https');
var multiparty = require('multiparty');
var FormData = require('form-data');
app.post('/v1/filesUpload', (request, response) => {
let apiOptions ={
headers: {
'Content-Type': request.headers['Content-Type'],
'host' : ...
'path': ...
.
.
.
}
}
let form = new multiparty.Form();
let formdataReq = new FormData();
Object.keys(fields).forEach(function (name) {
console.log('got field named ' + fields[name]);
formdataReq.append(name, fields[name].toString());
});
formdataReq.append('file', JSON.stringify(files));
const req = https.request(apiOptions, (res) => {
});
req.write(querystring.stringify(formDataReq));
}catch (e) {
console.log(e);
}
});
});