6

ng-flow モジュールを使用して、angularjs とブートストラップでプロフィール写真のアップロードを実装しようとしています。サファリでは問題なく動作しますが、クロムではリクエストが機能しません。「注意:リクエストはまだ完了していません」と表示されます

スクリーンショットは次のとおりです。

すべてのクロム拡張機能などを無効にしようとしましたが、まだ機能していません。私が気付いたもう1つのこと(最初の問題に関連しているかどうかはわかりません)は、ボタンの境界線が奇妙に配置されていないことです。これもクロムにのみ表示されるようです。

ここに画像の説明を入力

私の見解からのコード:

<div class="row">
    <div class="col-md-12">
        <h2 style="text-align: center">edit your profile</h2>
    </div>

    <div ng-controller="uploadCtrl" flow-init="{singleFile:true}" flow-name="uploader.flow" flow-files-added="processFiles($files)">
        <div class="form-group">
        <button flow-btn class="btn btn-primary btn-sm" flow-attrs="{accept:'image/*'}">Upload Profile Picture</button>
        </div>
        <div class="thumbnail" ng-show="$flow.files.length">
            <img class="preview" flow-img="$flow.files[0]"/> 
        </div> 
        <button class="btn btn-primary btn-sm" ng-show="$flow.files.length" ng-click="save()">save</button>     
    </div>
</div>

コントローラ:

angular.module("myController").controller('uploadCtrl', function($scope, profileService) {


    $scope.imageStrings = [];

    $scope.processFiles = function(files){
        angular.forEach(files, function(flowFile, i){
           var fileReader = new FileReader();
              fileReader.onload = function (event) {
                var uri = event.target.result;
                  $scope.imageStrings[i] = uri;     
              };
              fileReader.readAsDataURL(flowFile.file);
        });
      };

     $scope.save = function(){

         var image = $scope.imageStrings[$scope.imageStrings.length -1];

         console.log(image)

         profileService.postProfilePicture.postProfilePicture(JSON.stringify(image),function(res) {
            console.log("success"); 

        }, function(error) {
            $scope.error = true;
        });
     };

});

編集:

何らかの形でファイルサイズに関連していると思います。クロムでは、すべての画像形式が非常に小さい場合に機能します (< 0.5mb またはそのようなもので、巨大なものは何もありません)。

4

0 に答える 0