我正在尝试让一个多部分POST与fastify-multipart一起工作,但每当我将一个多部分文件发布到端点时,我的服务就会崩溃,并显示以下错误:
req.raw[kMultipart] = true
^
TypeError: Cannot set property 'Symbol(multipart)' of undefined
at Parser.setMultipart [as fn] (/service/node_modules/fastify-multipart/index.js:24:23)
at ContentTypeParser.run (/service/node_modules/fastify/lib/contentTypeParser.js:103:27)
at handleRequest (/service/node_modules/fastify/lib/handleRequest.js:35:39)
at onRunMiddlewares (/service/node_modules/fastify/lib/middleware.js:22:5)
at Holder.done (/service/node_modules/middie/middie.js:90:9)
at xXssProtection (/service/node_modules/x-xss-protection/dist/index.js:47:13)
at Holder.done (/service/node_modules/middie/middie.js:112:11)
at nosniff (/service/node_modules/dont-sniff-mimetype/dist/index.js:5:9)
at Holder.done (/service/node_modules/middie/middie.js:112:11)
at xDownloadOptionsMiddleware (/service/node_modules/ienoopen/index.js:5:5)我是不是遗漏了一个依赖项或类似的东西?
"fastify": "^2.0.0",
"fastify-multipart": "^4.0.6",在index.js中,代码如下:
const kMultipart = Symbol('multipart')
function setMultipart (req, payload, done) {
// nothing to do, it will be done by the Request.multipart object
req.raw[kMultipart] = true
done()
}req.raw似乎是未定义的。
发布于 2021-05-25 15:03:22
只有fastify-multipart v1与fastify v2兼容
请注意,v3和更高版本的API完全不同,因此您需要更新您的fastify版本或降级您的插件,并更改有效负载管理。
https://stackoverflow.com/questions/67676413
复制相似问题