Javascript 为什么角度文件上传会导致400个错误请求?
我试图从NPM站点上学习这个例子,但是它导致了一个400错误的请求,尽管我不知道为什么。这可能是服务器端的错误吗 我的HTML: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> 我的
<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
}