gpt4 book ai didi

javascript - 为什么 Formidable `form.parse` 回调没有在 Express 中运行?

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:30 26 4
gpt4 key购买 nike

我正在使用 formidable包来处理我的服务器上的文件上传。这是我的 express.js 应用程序代码:

var formidable = require("formidable"),
http = require("http"),
util = require("util");
app.post("/admin/uploads", function (req, res) {
console.log(req.files, req.fields); //It prints
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
console.log("Inside form parse."); //its not printing
console.log(err, fields, files); //its not printing
});
form.on("file", function (name, file) {
console.log("file=" + file);
}); //its not printing
form.on("error", function (err) {
console.log(err);
}); //its not printing
form.on("aborted", function () {
console.log("Aborted");
}); //its not printing
console.log(form); //it prints
});

在上面的代码中,form.parseform.on 回调永远不会运行。我该如何解决这个问题?

最佳答案

我在将 Next.js API 路由与 Formidable 一起使用时遇到了同样的问题。就像其他答案指出的那样,您必须删除正文解析器。在 Next.js 中,您可以导出一个 config 对象并禁用正文解析。

// /pages/api/form.js
import { IncomingForm } from "formidable";

export default function handler(req, res) {
// formidable logic
}

// VV important VV
export const config = {
api: {
bodyParser: false,
},
};

关于javascript - 为什么 Formidable `form.parse` 回调没有在 Express 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com