使用NodeJS或HTML5上传多个文件

时间:2016-08-05 16:14:26

标签: node.js html5

我有一个批量上传文件的项目。目前通过将一堆文件拖放到HTML5上传器中来完成,当它通过Web服务器时,处理所有要上载的文件需要时间,同时不使用服务器的Windows应用程序是更快。目前我们将出于某种原因停止使用Windows应用程序。

我的问题是NodeJS是通过WEB SERVER处理文件还是通过使用网络路径上传而不使用Web服务器以异步方式工作?

OR

它是否与HTML5 Uploader通过IIS服务器的工作方式类似?

如果应用程序正在运行本地网络,是否还有其他方法可以避免文件通过Web服务器。

1 个答案:

答案 0 :(得分:0)

我不知道这是否解决了您的问题,但这是我的多个上传文件的方法:

Nodejs:

router.post('/upload', function(req , res) {

var multiparty = require('multiparty');
var form = new multiparty.Form();
var fs = require('fs');

form.parse(req, function(err, fields, files) {  
    var imgArray = files.imatges;


    for (var i = 0; i < imgArray.length; i++) {
        var newPath = './public/uploads/'+fields.imgName+'/';
        var singleImg = imgArray[i];
        newPath+= singleImg.originalFilename;
        readAndWriteFile(singleImg, newPath);           
    }
    res.send("File uploaded to: " + newPath);

});

function readAndWriteFile(singleImg, newPath) {

        fs.readFile(singleImg.path , function(err,data) {
            fs.writeFile(newPath,data, function(err) {
                if (err) console.log('ERRRRRR!! :'+err);
                console.log('Fitxer: '+singleImg.originalFilename +' - '+ newPath);
            })
        })
}

})

确保您的enctype =“multipart / form-data”

我希望这能帮到你;)