angular-file-upload不向请求添加文件

时间:2014-04-22 12:23:33

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

我正在使用angular-file-upload将图片上传到运行Node和Express 4.0的服务器,而我无法在erver上获取文件数据。

以下是相关代码:

<input type="file" ng-file-select="onFileSelect($files)">

角度控制器:

$scope.onFileSelect = function ($files) {  
    var file = $files[0];

    // [..] validation

    $scope.upload = $upload.upload({
        url: 'api/settings/picture',
        method: 'POST',
        file: file,
        headers: {'Content-Type': undefined}
      }).progress(function (evt) {
          $scope.percent = parseInt(100.0 * evt.loaded / evt.total);
      }).success(function (data) {
          console.log(data);
      }).error(function () {
          console.log('error');
      });
};

服务器代码:

// Picture
app.route('/api/settings/picture')
  .post(middleware.auth, users.changePicture);

路线处理程序:

exports.changePicture = function (req, res) {
  var userId = req.user._id;
  console.log(req.files);
};

req.files始终为undefined

为什么会出现这种情况?

1 个答案:

答案 0 :(得分:0)

问题是由Express 4.0中的更改引起的。

我使用Multer解决了这个问题。

此帖子的更多信息:https://groups.google.com/forum/#!topic/express-js/INjdKyS3--0