0

問題が発生しています。パーシャルで ng-switch を動作させることができません。私がやろうとしているのは画像をアップロードすることですが、アップロードする前に、含まれている画像のサイズが 25kb に達していないかどうかを最初に確認する必要があります。

これが私のコントローラーコードです:

$scope.validateAvatar = function(files) {
    var fd = new FormData();
    $scope.filesize = files[0].size;
    $scope.filemaxsize = 25;
//Take the first selected file
fd.append("file", files[0]);

    $scope.uploadAvatar = function() {
        Api.uploadAvatar($scope.main.user.email, fd)
        .then(function(result) {
            console.log(result.data);
        }, function(result) {
            console.log(result);
        })
    };
};

そして私のパーシャルコード:

<form data-ng-submit="uploadAvatar()">
    <input type="file" name="file" onchange="angular.element(this).scope().validateAvatar(this.files)"/>

    <div ng-switch on="filesize / 1024 < filemaxsize">
        <div ng-switch-when="true">
            <input type="submit" value="Upload Avatar">
        </div>
        <div ng-switch-default>
            Please choose you avatar.
        </div>
    </div>

</form>

また、画像ファイルのサイズを確認する際に、私の検証で十分だと思いますか? たとえば、含まれる画像のサイズが 20MB の場合、私の検証でもそれをキャッチできますか? そもそも申し訳ありませんが、最初に switch ステートメントを機能させることができませんでした。:(

4

1 に答える 1

1

手動で$scope.$apply()変更した後、電話する必要があります。$scope.filesize

ところで、たださせてはいけません$scope.filemaxsize = 25 * 1024;

于 2013-08-24T09:20:30.887 に答える