0

我正在使用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

任何想法为什么会这样?

4

1 回答 1

0

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

我使用Multer解决了它。

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

于 2014-04-22T13:37:26.950 回答