【发布时间】:2017-01-24 22:37:32
【问题描述】:
我的文件上传功能以及 Angular 中的其他字段目前存在问题。我尝试测试我的 laravel 函数以使用 POSTMAN 保存和上传带有其他字段的文件并且它有效。
但是,在尝试使用 Angular JS Form 时,它给了我这样的错误:
这是我的 Angular js 代码,用于从表单获取所有输入并将其传递给 laravel:
$scope.addAccount = function(obj) {
if ($scope.transformForm.$valid && $scope.netForm.$valid) {
$scope.uploadAccountProf();
//$state.go("detailed");
DataFactory.AddAccount($scope.obj).then(function successCallback(response) {
console.log("success");
Materialize.toast('Account Saved!', 8000, 'greenbg rounded nobr');
$state.go('detailed');
}, function errorCallback(response) {
console.log("Error");
});
}
else{
console.log("try again");
Materialize.toast('Please fill out all required field.', 8000, 'redbg rounded nobr');
}
下面的代码是负责上传文件的东西:
$scope.uploadAccountProf = function(roastSlidesUpload){
var fileAccount = angular.element(document.querySelector('#accountProfile'));
var fileCompliance = angular.element(document.querySelector('#fileUpload'));
//console.log(myRoastSlide[0].files[0]);
$scope.obj['accountProfile']=fileAccount[0].files[0];
$scope.obj['fileUpload']=fileCompliance[0].files[0];
console.log($scope.obj);
var formData = new FormData();
formData.append('file', $scope.obj);
console.log("asd",formData);
return $scope.obj;
};
我的表格:
<form id="transformForm" name="transformForm" class="addingTransformation" novalidate>
以下是我的文件上传表单,不包括其他文本框:
<div class="row">
<div class="file-field input-field col s12">
<div class="btn">
<span>File</span>
<input id="accountProfile" type="file">
</div>
<div class="file-path-wrapper">
<input id="acctProfile" class="file-path validate" placeholder="Accout Profile" type="text">
</div>
</div>
</div>
我的按钮:
<button class="btn waves-effect waves-light right submit allmargin" type="submit" name="action" ng-click="verifiedaccount()">Submit
<i class="material-icons right">send</i>
</button>
有人可以帮助我吗?几周来我一直在尝试解决这个问题,但仍然无法弄清楚出了什么问题,以及为什么 angular 会将该错误返回给我。 :(
【问题讨论】:
-
能否贴出 DataFactory.AddAccount 函数的代码?代码的哪一部分在第 369 行?
-
@Dhenn:你有没有找到解决方案?我有和你一样的类似设置。我遇到了同样的问题。
标签: javascript php jquery angularjs laravel