node.js使用multer上传图片显示未定义

在这里,我试图从2个不同的文件input上传文件,我可以上传到前端,但在后端,它仍然是undefined 。 尝试了几件事,但没有奏效。

HTML:

 <input type="file" name="file1" file-model = "file1"/> <input type="file" name="file2" file-model = "file2"/> <button ng-click = "uploadFile()">UPLOAD FILES</button> 

指示:

 angular.module('myApp').directive('fileModel', ['$parse', function($parse) { return { restrict: 'A', link: function(scope, element, attrs) { var model = $parse(attrs.fileModel); var modelSetter = model.assign; element.bind('change', function() { scope.$apply(function() { modelSetter(scope, element[0].files[0]); }); }); } }; } ]) 

服务:

 angular.module('myApp').service('fileUpload', ['$http', function($http) { this.uploadFileToUrl = function(file, uploadUrl) { var fd = new FormData(); fd.append('file1', file); fd.append('file2', file); $http.post(uploadUrl, fd, { transformRequest: angular.identity, headers: { 'Content-Type': undefined } }) } } ]); 

控制器:

 angular.module('myApp') .controller('ContactCtrl', ['$scope', 'fileUpload', '$http', function($scope, fileUpload, $http) { $scope.uploadFile = function() { var file1 = $scope.file1; var file2 = $scope.file2; console.log('file is '); console.dir(file1); console.dir(file2); var uploadUrl = '/upload'; fileUpload.uploadFileToUrl({ file1, file2 }, uploadUrl); }; 

服务器:

 function upload(req,res){ console.log(req.files.file1); } 

在nodejs的服务器端无法find文件的一个例子,即你可以在/api/v1/uploadfile": [{ method: "POST", action: controllers.advertController.videoUpload, middleware: [multipartMiddleware], views: { json: views.jsonView } }],提供multerobject /api/v1/uploadfile": [{ method: "POST", action: controllers.advertController.videoUpload, middleware: [multipartMiddleware], views: { json: views.jsonView } }],

 global.multipartMiddleware = multipart(); 

在服务器端代码请求的中间件使用multipartMiddleware。

控制器(在这个你传递正确的参数服务)

var file ={} file.file1=file1; file.file2=file2; fileUpload.uploadFileToUrl(file, uploadUrl);

服务(如果你想一次上传多个文件使用循环)

 angular.module('myApp').service('fileUpload', ['$http', function ($http) { this.uploadFileToUrl = function(file, uploadUrl){ var fd = new FormData(); fd.append('file1', file.file1); fd.append('file2', file.file2); $http.post(uploadUrl, fd, { transformRequest: angular.identity, headers: {'Content-Type': undefined} }) } }]);