для моего текущего проекта я должен отправить данные формы из моей лямбда-функции в конечную точку API.Конечная точка API по существу ожидает два изображения (которые сравниваются друг с другом) и ключ.Как упоминалось ранее, я почему-то не могу отправить правильные данные формы в конечную точку API.Я проверил почтальона, и это, кажется, сработало нормально, но что-то не работает в моей функции.Я предполагаю, что это должно быть связано со строкой данных формы, которую я отправляю.Ниже вы можете найти сокращенную версию функции (я исключил два файла изображения), но каким-то образом я получаю сообщение об ошибке, сообщающее, что API не может прочитать свойство ключа:
const http = require('http');
const https = require('https');
const httpPromise = (protocol, params, postData) => {
return new Promise((resolve, reject) => {
const requestModule = protocol === 'http' ? http : https;
const req = requestModule.request(params, res => {
// grab request status
const statusCode = res.statusCode;
if(statusCode < 200 || statusCode > 299) {
throw new Error('Request Failed with Status Code:', statusCode);
}
let body = '';
// continuosly update data with incoming data
res.setEncoding('utf8');
res.on('data', data => body += data);
// once all data was received
res.on('end', () => resolve(body));
})
// write data to a post request
if(typeof(params.method) === 'string' && params.method === 'POST' && postData) {
req.write(postData)
}
// bind to the error event
req.on('error', err => reject(err));
// end the request
req.end();
})
}
const controller = async () => {
const apiKey = "00000000";
const options = {
hostname: '***"
port: 80,
path: '***'
method: 'POST',
headers: {"content-type": "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW"}
}
const postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\00000000\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--"
let result = await httpPromise('http', options, postData)
console.log(result);
}
да,так что почему-то он просто не распознает ключ в строке postData
.Я пробовал разные комбинации, но никак не могу заставить это работать.