我的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对象发送到我的服务器?