【问题标题】:Angular JS File Upload and Laravel BackendAngular JS 文件上传和 Laravel 后端
【发布时间】: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


【解决方案1】:

我对Angular的经验很少,所以我不知道是否正确,但是通过HTML表单上传文件,通常需要设置它的enctype。

您可以将enctype="multipart/form-data" 添加到您的&lt;form&gt; 标签并重试吗?

【讨论】:

  • 已经试过了,但还是不行。收到同样的错误。
猜你喜欢
  • 2016-04-21
  • 1970-01-01
  • 2017-07-26
  • 2013-12-22
  • 2016-08-20
  • 2018-06-11
  • 2018-04-15
  • 2015-12-06
  • 1970-01-01
相关资源
最近更新 更多