Я пытался преобразовать рабочий запрос POST CURL в формат Node JS, который я могу автоматизировать.Я достигаю стены с преобразованием ее и надеюсь, что кто-то может помочь.
Вот завиток:
curl -POST https://api-xxxxxxxx/add
-H "Authorization: Bearer xxxxxxx"
-H "Content-Type: multipart/mixed"
-F 'metadata={ "domain_id": 11661, "container_id": 18569512, "name": "TestFile", "size": "1072902", "originalfilename" : "xxx-d6", "mime": "x-html-package",
"attributes":"main_html_file_path=index.html\nduration=10000" }; type=application/json' -F "file=@xxx-d6.x-html-package"
Я использую модуль запроса-обещания, чтобы сделать этот запрос, но я могу ошибаться
let step1Options = {
method: 'POST',
uri: 'https://api-xxx/add',
form: {
metadata: {
domain_id: domainID,
container_id: 1856951,
name: "TestFileNodeJS",
size: "1072902",
originalfilename : "xxx-d6",
mime: "x-html-package",
attributes:"main_html_file_path=index.html\nduration=10000"
},
file: fs.createReadStream("xxx.x-html-package")
},
headers: {
"content-type": "multipart/mixed",
Authorization: "Bearer " + authID
}
};
rp(step1Options)
.then(function (body) {
console.log("success")
console.log(body)
})
.catch(function (err) {
console.log("Error: ", err)
// POST failed...
});
Ошибка, которую я получаю:
body:
'{"error":"Unexpected Content-Type header: application/x-www-form-urlencoded. Expecting: multipart/mixed; boundary=<boundary>.","status":"error"}' } }
Насколько я знаю, я изменяю Content-Type, но все еще думаю, что я не.Читая немного документации Request-Promise, я не верю, что multipart / mixed поддерживается?Хотя я могу ошибаться.
У кого-нибудь есть идеи о том, как я могу получить эту работу, или предложить альтернативы?