如何在node.js中阅读多部分表单

时间:2017-08-07 10:59:07

标签: javascript node.js

我有一个node.js应用程序,它目前只支持x-www-form-urlencoded请求。如果有人需要将文件作为附件发送,我必须扩展对表单数据的支持。从请求中读取数据目前使用DecodeURIComponent完成,看起来类似于以下内容。是否有可能将其改编为读取表格数据?

exports.parseUrlEncodedBody = function(event) {

  //This is to extract url encoded data

  var temp = {};

  if (event.body) {
    // retrieve keys & values
    var pm = event.body.split("&");

    // store keys and values in temp object
    params.forEach(function (item, index, array) {
      var keyValue = item.split("=");
      var key, value;
      if (keyValue.length >= 1) {
        key = decodeURIComponent(keyValue[0]);
        if (keyValue.length >=2) {
          value = decodeURIComponent(keyValue[1]);
        } else {
          value = "";
        }

        temp[key] = value;
      }
    });
  }

1 个答案:

答案 0 :(得分:0)

  

是否可以将其改编为读取表格数据?

没有。数据格式完全不同。你需要从头开始重写它。

考虑使用专为此设计的multer等模块。

如果您想从头开始编写自己的库,那么您应该参考RFC 7578,其中描述了数据格式。