R J*_* J. 3 node.js formidable
我正在使用强大的包来上传文件.这是我的服务器端代码.
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
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,form.parse()方法没有被调用.请为此问题提供解决方案.
Jac*_*cob 33
在将 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,
},
};
Run Code Online (Sandbox Code Playgroud)
请添加错误处理程序并发送错误消息,否则很难得到答案。
form.on('error', function(err) { console.log(err); });
form.on('aborted', function() { console.log('Aborted'); });
Run Code Online (Sandbox Code Playgroud)
请参阅formidable文档:doc
| 归档时间: |
|
| 查看次数: |
3897 次 |
| 最近记录: |