multipart - fastify-multipart 崩溃服务
问题描述
我正在尝试让 Multipart POST 与 fastify-multipart 一起使用,但是每当我将 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 似乎是未定义的。
解决方案
只有fastify-multipart
v1兼容 fastify v2
请注意,API 与 v3 及更高版本完全不同,因此您需要更新您的 fastify 版本或降级您的插件并更改有效负载管理。
推荐阅读
- java - 如何在 Junit 中生成可读的真值表测试数据
- assembly - 将 GAS 转换为 MASM 时我做错了什么?
- javascript - 通过javascript中的xpath从字符串中获取值
- types - OCaml 中的函数,它接受一个整数输入并返回给定的前一个值
- git - 在 git repo 中重命名文件并保留文件的作者?
- python - 使用新索引一次性向多列添加值 - 熊猫
- json - json字典中第一次出现的元素与jq
- javascript - 用于检查 HTML 中的更改的开发工具
- javascript - php 无法从 html 中获取值
- android-studio - 我是 Android Studio 的新手,我正在创建一个壁纸应用程序,但我希望壁纸在一定时间后自动更改