使用multer获取上传文件的问题

时间:2017-07-20 11:21:23

标签: node.js express multipartform-data multer

使用multer上传文件,这是我的代码

Error: Buffer.write(string, encoding, offset[, length]) is no longer supported
    at Buffer.write (buffer.js:742:11)
    at MultipartParser.initWithBoundary (D:\eclipse-workspace-oxy\ChatServer\node_modules\formidable\lib\multipart_parser.js:61:17)
    at IncomingForm._initMultipart (D:\eclipse-workspace-oxy\ChatServer\node_modules\formidable\lib\incoming_form.js:308:10)
    at IncomingForm._parseContentType (D:\eclipse-workspace-oxy\ChatServer\node_modules\formidable\lib\incoming_form.js:250:12)
    at IncomingForm.writeHeaders (D:\eclipse-workspace-oxy\ChatServer\node_modules\formidable\lib\incoming_form.js:129:8)
    at IncomingForm.parse (D:\eclipse-workspace-oxy\ChatServer\node_modules\formidable\lib\incoming_form.js:97:8)
    at D:\eclipse-workspace-oxy\ChatServer\node_modules\connect\lib\middleware\multipart.js:125:12

上传执行多部分请求的图像文件时出现以下错误

https

2 个答案:

答案 0 :(得分:1)

您的堆栈跟踪显示问题来自强大而不是闷热。

快速搜索强大的github开放问题给出了this

也许尝试运行npm update

答案 1 :(得分:1)

最后得到了解决方案,需要在中间件中为解析请求体添加bodyParser。

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

它适用于Url编码请求。对于多部分请求,需要添加multer等中间件。