首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >高速NodeJS服务器中的HTTP文件上传

高速NodeJS服务器中的HTTP文件上传
EN

Stack Overflow用户
提问于 2016-01-08 16:32:05
回答 1查看 539关注 0票数 1

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

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

我使用formidable编写的代码

代码语言:javascript
代码运行次数:0
运行
复制
var formidable = require("formidable");
form = new formidable.IncomingForm();
form.uploadDir = "./files/";
form.parse(req, function(err, fields, files) {
    console.log("received upload");
});

我使用multer编写的代码

代码语言:javascript
代码运行次数:0
运行
复制
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");
        }
});

你知道发生了什么事吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-12 05:00:36

不需要使用multer。尝试使用此代码。

代码语言:javascript
代码运行次数:0
运行
复制
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');
                    });
            });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34672568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档