【问题标题】:HTTP file upload in Express NodeJS serverExpress NodeJS 服务器中的 HTTP 文件上传
【发布时间】:2016-04-12 20:55:05
【问题描述】:

我有一个 Express NodeJS 服务器。我想上传非常大的文件(超过 10Gb)。为此,我尝试了模块 multerformidable

我的问题是我无法在服务器中接收超过 1Gb 的数据。在浏览器中我得到ERR_CONNECTION_RESET。服务器代码没有抛出错误。

我的代码formidable:

var formidable = require("formidable");
form = new formidable.IncomingForm();
form.uploadDir = "./files/";
form.parse(req, function(err, fields, files) {
    console.log("received upload");
});

我的代码multer:

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, "./files")
    }
});

var upload = multer({storage: storage}).array("file",2);

/** ------ **/

upload(req, res, function (err) {
        if (err) {
            console.log("error");
        } else { //success!
            console.log("received upload");
        }
});

你知道发生了什么吗?

【问题讨论】:

    标签: node.js express upload multer formidable


    【解决方案1】:

    无需使用 multer。试试这个代码。

    var formidable = require("formidable");
        var form = new formidable.IncomingForm();
    
                form.parse(req, function(err, fields, files) {
    
    
                });
    
                form.on('end', function(fields, files, data) {
    
                    var temp_path = this.openedFiles[0].path;
                    var file_name = openedFiles[0].name; 
    
                    var new_location = 'public/images/';
    
                        fs.move(temp_path, new_location + file_name, function(err) { 
                            if ( err ) console.log(err);
                            else
                                console.log('upload-photo success');
                        });
                });
    

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      • 2017-07-04
      • 2014-11-19
      相关资源
      最近更新 更多