【问题标题】:fastify-multipart crashes servicefastify-multipart 崩溃服务
【发布时间】:2021-05-24 17:29:21
【问题描述】:

我正在尝试让 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 似乎未定义。

【问题讨论】:

    标签: multipart fastify


    【解决方案1】:

    只有fastify-multipart v1 兼容fastify v2

    请注意,该 API 与 v3 及以上版本完全不同,因此您需要更新您的 fastify 版本或降级您的插件并更改有效负载管理。

    【讨论】:

    • 谢谢,更新了项目中的所有版本,错误消失了。
    猜你喜欢
    • 2021-10-27
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2016-06-12
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多