2016-03-31 22 views
1

私のファイルアップロードを管理するためにhttps://github.com/danialfarid/ng-file-uploadプラグインを使用しています。以下は私のコードです。Angularjs:エラー:FormDataインタフェースを実装していないオブジェクトで 'append'が呼び出されました。 jQuery.param/add

HTML

<form name="form"> 
    Single Image with validations 
    <div class="button" ngf-select ng-model="file" name="file" ngf-pattern="'image/*'" 
     ngf-accept="'image/*'" ngf-max-size="20MB" ngf-min-height="100" 
     ngf-resize="{width: 100, height: 100}">Select</div> 
    Multiple files 
    <div class="button" ngf-select ng-model="files" ngf-multiple="true">Select</div> 
    Drop files: <div ngf-drop ng-model="files" class="drop-box">Drop</div> 
    <button type="submit" ng-click="upload()">submit</button> 
</form> 

コントローラ

// upload on file select or drop 
       $scope.upload = function (file) { 

        file = new FormData(); 
        file = {'file': file}; 


        imageFind.search(file, $scope.documentsOffsetStart, $scope.titleSorting) 
         .then(
         function (response) { 
          console.log('Success ' + response.config.data.file.name + 'uploaded. Response: ' + response.data); 
         }, 
         function (response) { 
          console.log('Error status: ' + response.status); 
         }, function (evt) { 
          console.log('progress: ' + progressPercentage + '% ' + evt.config.data.file.name); 
         }); 

       }; 

画像は、サービス

]).factory('imageFind', [ 
     'imageService', 'ApiService', 
     function (imageService, ApiService) { 
      return { 
       search: function (file, start, sort) { 
        var formData, params={}; 
        if (start == null) { 
         start = 0; 
        } 
        if (sort == null) { 
         sort = ""; 
        } 

        var data = { 
         start: start, 
         sort: sort 
        }; 

        data = $.param(data); 
        var config = {'Content-Type': undefined}; 
        return ApiService.post(imageFindPint, data, config); 
       } 
      }; 
     } 
    ]); 

イムすると、次のエラーを取得して検索します画像のアップロード: Error: 'Formend'インターフェースを実装していないオブジェクトで 'append'が呼び出されました。 jQuery.param/add

私は間違ったことをしていますか?

+0

このコードはng-file-uploadを使用していません。サービスコールや依存関係注入はありません。 – danial

+0

@danial "アップロード"依存性を注入する –

+0

ng-file-uploadに関連するコードはありません – danial

答えて

1

パス<button type="submit" ng-click="upload('file')">submit</button>

これは、問題を解決する必要があります。

コントローラ内 // file = new FormData(); // file = {'file':file};

は削除できますが、サービスにFormData()を追加する必要があります。

関連する問題