Javascript 为什么角度文件上传会导致400个错误请求?

Javascript 为什么角度文件上传会导致400个错误请求?,javascript,angularjs,Javascript,Angularjs,我试图从NPM站点上学习这个例子,但是它导致了一个400错误的请求,尽管我不知道为什么。这可能是服务器端的错误吗 我的HTML: <input type="text" ng-model="myModelObj"> <input type="file" ng-file-select="onFileSelect($files)"> <button ng-click="upload.abort()">Cancel Upload</button> 我的

我试图从NPM站点上学习这个例子,但是它导致了一个400错误的请求,尽管我不知道为什么。这可能是服务器端的错误吗

我的HTML:

<input type="text" ng-model="myModelObj">
<input type="file" ng-file-select="onFileSelect($files)">
<button ng-click="upload.abort()">Cancel Upload</button> 
我的控制器:

myApp.controller('mainController',['$scope', 'dataService', '$upload', function($scope, dataService, $upload){

 $scope.onFileSelect = function($files) {
  for (var i = 0; i < $files.length; i++) {
  var file = $files[i];
  $scope.upload = $upload.upload({
    url: myURL,
    method: 'POST', 
    headers: {
            'Authorization': 'bearer ' + token,
            'Accept': "application/json", 
            'Content-Type': undefined
          },
    data: {myObj: $scope.myModelObj},
    file: file 

   }).progress(function(evt) {
     console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
   }).success(function(data, status){
     console.log(data);
   }).error(function(data, status){
     console.log(status);
   });
 };
}]);

我不喜欢“内容类型”:未定义。你能试着删除它吗?@DmitryK不幸的是,删除该行仍然会导致400错误。“这可能是服务器端的错误吗?”是的,可能是。服务器的错误日志显示了什么?虽然它可能没有帮助,但它至少是一个好的起点……是否可能是浏览器本身正在拒绝该请求,因为它可以告诉您该请求存在某些格式错误?因为服务器的错误日志中没有注册POST请求。我在命令行中对curl做了同样的尝试,但服务器日志中确实出现了一个错误(“错误检索流”)。我不喜欢“内容类型”:未定义。你能试着删除它吗?@DmitryK不幸的是,删除该行仍然会导致400错误。“这可能是服务器端的错误吗?”是的,可能是。服务器的错误日志显示了什么?虽然它可能没有帮助,但它至少是一个好的起点……是否可能是浏览器本身正在拒绝该请求,因为它可以告诉您该请求存在某些格式错误?因为服务器的错误日志中没有注册POST请求。我在命令行中对curl做了同样的尝试,并因此在服务器日志中注册了一个错误(“错误检索流”)。
myApp.controller('mainController',['$scope', 'dataService', '$upload', function($scope, dataService, $upload){

 $scope.onFileSelect = function($files) {
  for (var i = 0; i < $files.length; i++) {
  var file = $files[i];
  $scope.upload = $upload.upload({
    url: myURL,
    method: 'POST', 
    headers: {
            'Authorization': 'bearer ' + token,
            'Accept': "application/json", 
            'Content-Type': undefined
          },
    data: {myObj: $scope.myModelObj},
    file: file 

   }).progress(function(evt) {
     console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
   }).success(function(data, status){
     console.log(data);
   }).error(function(data, status){
     console.log(status);
   });
 };
}]);
 url: myURL,
 method: 'POST', 
 headers: {
          'Authorization': 'bearer ' + token,
          'Accept': "application/json",
          'Content-Type': undefined
 },
 data: {
       'name': 'test',
       'files': file 
 }