2017-06-25 4 views
-1

Quel serait l'équivalent HTTP de cette requête cURL? J'ai essayé de traduire et n'ai pas été en mesure de transmettre le fichier correctement à l'API.Curl -F traduction de requête POST

$ curl -F "[email protected]" https://xxxxxx 

J'ai essayé:

const formData = { 
    file: 'pathToFile' 
} 

request 
    .post({ 
    url: 'xxxxxx', 
    form: formData 
    }) 
    .on('response', (response) => { 
    console.log(response); 
    }); 

qui me donne un fichier erreur de serveur 5xx ~ param non défini.

Comment ferais-je cela dans Node.js? J'utilise Request

Répondre

0

Doc dit d'utiliser fs.createReadStream(...) pour passer un fichier:

var formData = { 
    my_file: fs.createReadStream(__dirname + '/test.txt'), 
}; 
request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) { 
    if (err) { 
    return console.error('upload failed:', err); 
    } 
    console.log('Upload successful! Server responded with:', body); 
}); 

également l'option est formData, pas form. À moins que nous parlions de versions différentes.

Alternativement, il y a aussi node-fetch.