recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Comment publier des fichiers dans Node?

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_u1582phpcn_u15822787 Il y a quelques jours1377

répondre à tous(1)je répondrai

  • 代言

    代言2017-07-03 11:44:53

    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.

    répondre
    0
  • Annulerrépondre