J'essaie d'envoyer une demande POST à une API avec une image dans la demande. Je le fais avec le module de demande, mais tout ce que j'essaye ne fonctionne pas. Mon code actuel :
const options = {
method: "POST",
url: "https://api.LINK.com/file",
port: 443,
headers: {
"Authorization": "Basic " + auth,
"Content-Type": "multipart/form-data"
},
form : {
"image" : fs.readFileSync("./images/scr1.png")
}
};
request(options, function (err, res, body) {
if(err) console.log(err);
console.log(body);
});
Mais la requête utilise Content-Type: application/x-www-form-urlencoded
pour une raison quelconque ... Comment puis-je résoudre ce problème?
Comme expliqué dans documentation form multipart/form-data
la demande utilise form-data
bibliothèque. Vous devez donc fournir l'option formData
au lieu de l'option form
.
const options = {
method: "POST",
url: "https://api.LINK.com/file",
port: 443,
headers: {
"Authorization": "Basic " + auth,
"Content-Type": "multipart/form-data"
},
formData : {
"image" : fs.createReadStream("./images/scr1.png")
}
};
request(options, function (err, res, body) {
if(err) console.log(err);
console.log(body);
});