Request: TypeError: Não é possível ler a propriedade 'nome' de indefinido

Criado em 16 mai. 2017  ·  3Comentários  ·  Fonte: request/request

Resumo

TypeError: Não é possível ler a propriedade 'nome' de indefinido

Exemplo mais simples de reproduzir

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

Comportamento atual

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)

Seu ambiente

| software | versão
| ---------------- | -------
| pedido | 2.81.0, 2.78.0
| nó | 6.10.1
| npm | 3.10.10
| Sistema Operacional | Mac OS

Comentários muito úteis

Isso aconteceu comigo também com a versão 2.81.0; foi minha própria culpa porque eu estava passando um valor indefinido no formData. Então, considerando o código que você escreveu, o problema pode estar no caminho dos arquivos, imprima-os antes de chamar a requisição e verifique se estão corretos.

Todos 3 comentários

Isso aconteceu comigo também com a versão 2.81.0; foi minha própria culpa porque eu estava passando um valor indefinido no formData. Então, considerando o código que você escreveu, o problema pode estar no caminho dos arquivos, imprima-os antes de chamar a requisição e verifique se estão corretos.

Remova o "(ex)" e o tsc sai com este erro.

experimentar {
} pegar (ex) {
console.warn(``);
}

Expandindo o comentário de @matteodisabatino, _qualquer_ propriedade que é == undefined dentro formData fará com que esta questão.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

IgorDePaula picture IgorDePaula  ·  3Comentários

jdarling picture jdarling  ·  3Comentários

ghost picture ghost  ·  3Comentários

svlungade picture svlungade  ·  3Comentários

xin7c picture xin7c  ·  3Comentários