Request: TypeError: Eigenschaft 'Name' von undefined kann nicht gelesen werden

Erstellt am 16. Mai 2017  ·  3Kommentare  ·  Quelle: request/request

Zusammenfassung

TypeError: Eigenschaft 'Name' von undefined kann nicht gelesen werden

Einfachstes Beispiel zum Reproduzieren

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'
            }
        }
    }
} 

Aktuelles Verhalten

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)

Ihre Umgebung

| Software | Ausführung
| ---------------- | -------
| Anfrage | 2.81.0, 2.78.0
| Knoten | 6.10.1
| npm | 3.10.10
| Betriebssystem | Mac OS

Hilfreichster Kommentar

Das ist mir mit Version 2.81.0 auch passiert; war meine eigene Schuld, weil ich in formData einen undefinierten Wert übergeben habe. In Anbetracht des Codes, den Sie geschrieben haben, kann das Problem im Pfad der Dateien bestehen, drucken Sie sie aus, bevor Sie die Anforderung aufrufen, und prüfen Sie, ob sie richtig sind.

Alle 3 Kommentare

Das ist mir mit Version 2.81.0 auch passiert; war meine eigene Schuld, weil ich in formData einen undefinierten Wert übergeben habe. In Anbetracht des Codes, den Sie geschrieben haben, kann das Problem im Pfad der Dateien bestehen, drucken Sie sie aus, bevor Sie die Anforderung aufrufen, und prüfen Sie, ob sie richtig sind.

Entfernen Sie "(ex)" und tsc wird mit diesem Fehler beendet.

Versuchen {
} fangen (ex) {
console.warn(``);
}

Aufbauend auf @matteodisabatino ‚s Kommentar, _jeder_ Eigenschaft , die ist == undefined innerhalb formData verursacht dieses Problem.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen