将文件从AngularJS上载到ExpressJS 4 API

时间:2015-08-08 08:20:30

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

我的AngularJS应用程序通过内部API与Express通信。

我在Angular中使用ng-file-upload来处理上传的文件。上传代码如下所示:

 Upload.upload({
        url: '/api/uploadCSV/',
        file: CSVfile
    }).progress(function (evt) {
        var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
        console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
    }).success(function (data, status, headers, config) {
        console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
    }).error(function (data, status, headers, config) {
        console.log('error status: ' + status);
    })

在我的快递app.js中,我设置了这样的API:

 app.post('/api/uploadCSV/', api.uploadCSV);

在我的实际API代码中,我想做类似的事情:

 exports.uploadCSV = function(req, res){
      var csv = req.body.CSVfile; // or something similar
      // and then code to parse the CSV file and save information from it to MongoDB
 }

我可以看到一些关于如何上传文件并将其存储到服务器的示例,但这不是我想要做的;我只需要将文件发送到我的服务器进行读取和解析。

Express是否可以实现,如果可以,我该如何设置?

编辑:或者我应该在用户的浏览器中读取文件,使用Angular将其解析为JSON并将该JSON对象发送到我的服务器?

0 个答案:

没有答案