0

angularでjqueryファイルのアップロードを使用していますが、うまく機能します。fileuploadchange に独自のコールバックを追加したので、ユーザーが別のファイルを選択すると、コールバックが発生します。アップロードフォームはオーバーレイにあり、ユーザーが完了すると閉じます。ユーザーが別の画像をアップロードしたい場合 (ここでフォームを使用します)、fileuploadchange はエラーを報告します。

TypeError: data.scope is not a function 
var scope = data.scope();

参照している行

add: function (e, data) {
  if (e.isDefaultPrevented()) {
      return false;
  }
  var scope = data.scope();    <----------------------------------
  data.process(function () {
    return scope.process(data);
  }).always(

なぜこのエラーが発生するのかわかりません。データ変数を console.log すると、2 回目は .scope() がありませんが、理由がわかりません。

誰か提案がありますか?前もって感謝します!

- 追加情報 - -

コントローラーはng-viewに設定されています

<form id="fileupload" action="/api/profile/picture" method="POST" enctype="multipart/form-data" data-ng-controller="DemoFileUploadController" data-file-upload="options" data-ng-class="{'fileupload-processing': processing() || loadingFiles}" class="avatar">

そしてコントローラには次のオプションがあります

$scope.options = {
    url: '/api/userprofile/' + $rootScope.User.UserId + '/avatar/',
    type: 'POST'
};

ディレクティブは、blueimp によって提供された、github にあるものの正確なコピーです

4

0 に答える 0