Node.js / Express异步文件上传

时间:2014-09-16 04:05:17

标签: javascript node.js express

我已经完成了许多(并且大部分已过时)旧的堆栈溢出和谷歌的答案,并且找不到适用于最新版本的Node和Express的该死的东西。

异步文件上传的当前首选插件是什么?

编辑:我正在将文件上传到我的Node.js服务器。它正在运行Express。它应该能够处理任何文件类型。

1 个答案:

答案 0 :(得分:2)

我使用formidable进行文件上传。您可以将它们存储在目录中,也可以使用Amazon S3将它们存储在服务器上。它就像一个魅力。

以下是一些代码:

  // At the top of your modules
  var formidable = require('formidable');

  var form = new formidable.IncomingForm(); //Receive form

  form.parse(req, function(err, fields, files) { //Parse form and data
     // Do form stuff, you can access the files
  });

使用jQuery,您可以执行以下操作:

     $('#your_form').on('submit', function(e) {
        var formData = new FormData($(this)[0]);
        $.ajax({
            url : '/your/url/',
            type: 'POST',
            contentType: 'multipart/form-data',
            data: formData,
            success: function (msg) {
               console.log(msg);
            },
            processData: false
        });

        e.preventDefault();
    });