TypeError:无法读取未定义的属性“名称”
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
| 操作系统 | 苹果系统
这也发生在 2.81.0 版中; 是我自己的错,因为我在 formData 中传递了一个未定义的值。 因此,考虑到您编写的代码,问题可能出在文件的路径上,在调用请求之前打印它们并检查它们是否正确。
删除 "(ex)" 并且 tsc 退出并出现此错误。
尝试 {
} 抓住(前){
控制台.warn(`);
}
扩展@matteodisabatino的评论, formData
内== undefined
_any_属性将导致此问题。
最有用的评论
这也发生在 2.81.0 版中; 是我自己的错,因为我在 formData 中传递了一个未定义的值。 因此,考虑到您编写的代码,问题可能出在文件的路径上,在调用请求之前打印它们并检查它们是否正确。