node.js - Comment publier des fichiers dans Node?
phpcn_u1582
phpcn_u1582 2017-07-03 11:42:53
0
1
1316

Je souhaite utiliser node pour appeler une interface API. Les paramètres d'interface nécessitent le téléchargement de fichiers. Comment utiliser le module de requête pour réaliser cette opération ? Demander à Dieu. .
Le code actuel est le suivant :
var config = require('./config');
var request = require('request');

var fs = require('fs');

var url = config.host+'/inpidual/doc/ocr';

var file = fs.createReadStream('./WechatIMG5.jpeg');

var options = {

url: url,
method: 'POST',
"rejectUnauthorized": false,
form: {
    'agent_key': config.agent_key,
    'agent_no': config.agent_no,
    'doc_type': 'CHN_ID',
    'img': file,
    // 'has_oss_key': '1'
}

};

request(options, fonction (erreur, réponse, corps) {

if (!error && response.statusCode == 200) {
    console.log(body);
    // console.log(error);
}

});

phpcn_u1582
phpcn_u1582

répondre à tous(1)
代言

Le fichier doit utiliser formData au lieu de form :

var options = {
    url: url,
    method: 'POST',
    formData: {
        'img': {
            value: fs.createReadStream('./WechatIMG5.jpeg')
        },
    }
};

Veuillez noter que le type de contenu dans l'en-tête est différent selon les méthodes de transmission. Pour les fichiers, il s'agit de multipart/form-data ; pour les paires clé-valeur ordinaires, il s'agit de application/x-www-form-urlencoded ; au format json, c'est application/json .

Veuillez lire attentivement la documentation officielle. Dans la demande, form correspond à application/x-www-form-urlencoded et formData correspond à multipart/form-data.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal