Request: TypeError : impossible de lire la propriété 'nom' d'undefined

Créé le 16 mai 2017  ·  3Commentaires  ·  Source: request/request

Résumé

TypeError : impossible de lire la propriété 'nom' d'undefined

Exemple le plus simple à reproduire

request.post({
    url: '/cdn/upload',
    formData: {
        // Pass a simple key-value pair 
        my_field: 'my_value',
        // Pass data via Buffers 
        my_buffer: new Buffer([1, 2, 3]),
        // Pass data via Streams 
        my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),
        // Pass multiple values /w an Array 
        attachments: [
            fs.createReadStream(__dirname + '/attachment1.jpg'),
            fs.createReadStream(__dirname + '/attachment2.jpg')
        ],
        // Pass optional meta-data with an 'options' object with style: {value: DATA, options: OPTIONS} 
        // Use case: for some types of streams, you'll need to provide "file"-related information manually. 
        // See the `form-data` README for more information about options: https://github.com/form-data/form-data 
        custom_file: {
            value:  fs.createReadStream('/dev/urandom'),
            options: {
            filename: 'topsecret.jpg',
            contentType: 'image/jpeg'
            }
        }
    }
} 

Comportement actuel

TypeError: Cannot read property 'name' of undefined
    at FormData._getContentDisposition (/path-to-project/node_modules/request/node_modules/form-data/lib/form_data.js:217:43)
    at FormData._multiPartHeader (/path-to-project/node_modules/request/node_modules/form-data/lib/form_data.js:171:33)
    at FormData.append (/path-to-project/node_modules/request/node_modules/form-data/lib/form_data.js:64:21)
    at appendFormValue (/path-to-project/node_modules/request/request.js:327:21)
    at Request.init (/path-to-project/node_modules/request/request.js:338:11)
    at new Request (/path-to-project/node_modules/request/request.js:128:8)
    at request (/path-to-project/node_modules/request/index.js:54:10)
    at Function.post (/path-to-project/node_modules/request/index.js:62:12)
    at /path-to-project/publish.js:30:21
    at FSReqWrap.oncomplete (fs.js:123:15)

Votre environnement

| logiciel | version
| ---------------- | -------
| demande | 2,81,0, 2,78,0
| nœud | 6.10.1
| npm | 3.10.10
| Système d'exploitation | Mac OS

Commentaire le plus utile

Cela m'est arrivé aussi avec la version 2.81.0 ; était de ma faute car je passais une valeur indéfinie dans le formData. Ainsi, compte tenu du code que vous avez écrit, le problème peut résider sur le chemin des fichiers, imprimez-les avant d'appeler la requête et vérifiez s'ils sont corrects.

Tous les 3 commentaires

Cela m'est arrivé aussi avec la version 2.81.0 ; était de ma faute car je passais une valeur indéfinie dans le formData. Ainsi, compte tenu du code que vous avez écrit, le problème peut résider sur le chemin des fichiers, imprimez-les avant d'appeler la requête et vérifiez s'ils sont corrects.

Supprimez le "(ex)" et tsc se termine avec cette erreur.

essayer {
} attraper (ex) {
console.warn(``);
}

L' expansion sur le commentaire de l » @matteodisabatino, _any_ propriété qui est == undefined à l' intérieur formData causera cette question.

Cette page vous a été utile?
0 / 5 - 0 notes