【问题标题】:Getting issue with upload file using multer使用 multer 上传文件时遇到问题
【发布时间】:2017-12-26 01:32:48
【问题描述】:

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

var multer  = require('multer');
var upload = multer({ dest: 'uploads/' });
app.post("/upload",upload.single('image'), api.uploadFile);

上传图片文件进行多部分请求时出现以下错误

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

【问题讨论】:

    标签: node.js express multipartform-data multer


    【解决方案1】:

    终于解决了,需要在中间件中添加bodyParser来解析请求体。

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

    它适用于 Url Encoded 请求。对于Multi-part请求,需要添加multer这样的中间件。

    【讨论】:

      【解决方案2】:

      您的堆栈跟踪表明问题来自于强大的,而不是 multer。

      快速搜索 formidable 的 github open issues 会得到this

      也许尝试运行npm update

      【讨论】:

        猜你喜欢
        • 2015-10-14
        • 1970-01-01
        • 2022-11-24
        • 2011-02-14
        • 2015-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多