如何使用Node.js中的multer保存项目文件夹中的文件

时间:2016-01-15 12:06:32

标签: javascript angularjs node.js ng-file-upload

我需要一个帮助。我需要使用Node.js将文件保存在项目内的文件夹中。我正在解释下面的代码。

  

server.js:

var admin=require('./route/route.js');
app.get('/addSupplierData',admin.addSupplierData);
app.get('/',function(req,res){
    res.sendFile('view/index.html',{"root": __dirname});
})
  

route.js:

var multer = require('multer');
var upload = multer({ dest: 'upload/' });
var cpUpload = upload.fields([{ name: 'logo', maxCount: 1 }]);
exports.addSupplierData=function(req,res){
    var logo=req.body.logo;
}

我也使用angular.js作为前端,我的控制器端代码如下所示。

var supplierData={'logo':file};
$http({
        method:'POST',
        url:'/addSupplierData',
        data:supplierData,
    }).then(function successCallback(response){
},function errorCallback(response) {
})

变量file的生成输出如下所示。

Blob
$ngfName:"1.jpg"
name:"1.jpg"
size:8607
type:"image/jpeg"

我正在使用ngFileUpload上传文件。当用户提交将存储在upload文件夹中的数据时,我需要这些。请帮助我。

1 个答案:

答案 0 :(得分:0)

您需要将中间件添加到路线中......

var multer = require('multer');
var upload = multer({ dest: 'upload/' });
var cpUpload = upload.fields([{ name: 'logo', maxCount: 1 }]);

app.get('/addSupplierData', cpUpload, admin.addSupplierData);