Request: TypeError:未定義のプロパティ 'name'を読み取れません

作成日 2017年05月16日  ·  3コメント  ·  ソース: request/request

概要

TypeError:未定義のプロパティ 'name'を読み取れません

再現する最も簡単な例

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

現在の動作

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)

あなたの環境

| ソフトウェア| バージョン
| ---------------- | -------
| リクエスト| 2.81.0、2.78.0
| ノード| 6.10.1
| npm | 3.10.10
| オペレーティングシステム| マックOS

最も参考になるコメント

これはバージョン2.81.0でも起こりました。 formDataで未定義の値を渡していたので、私自身のせいでした。 したがって、作成したコードを考慮すると、問題はファイルのパスにある可能性があり、リクエストを呼び出す前にファイルを印刷して、正しいかどうかを確認してください。

全てのコメント3件

これはバージョン2.81.0でも起こりました。 formDataで未定義の値を渡していたので、私自身のせいでした。 したがって、作成したコードを考慮すると、問題はファイルのパスにある可能性があり、リクエストを呼び出す前にファイルを印刷して、正しいかどうかを確認してください。

「(ex)」を削除すると、tscはこのエラーで終了します。

試す {
} catch(ex){
console.warn( ``);
}

@matteodisabatinoのコメントを拡張すると、 == undefined内のformData == undefinedである_any_プロパティがこの問題を引き起こします。

このページは役に立ちましたか?
0 / 5 - 0 評価