2017-02-14 11 views
0

私はビデオとチュートリアルの束を見て読んだことがありますが、私は403エラーが発生しています。AngularFireを使ってFirebase Storageにファイルをアップロードするには?

私は角1

ファーストを使用していng-modelはファイルでは動作しませんので、私は角度指令を作りました。私はfile-model私のディレクティブと呼ば:

app.directive('fileModel',['$parse', function ($parse){ 
    return { 
    restrict: 'A', 
    link: function (scope, element, attrs) { 
     element.bind('change', function() { 
     $parse(attrs.fileModel) 
     .assign(scope, element[0].files[0]) 
     scope.$apply(); 
     }) 
    } 
    } 
}]); 

それから私は、HTMLテンプレートで私のディレクティブを使用:

<form ng-submit="uploadFile(file)"> 
     <input type="file" accept="txt" file-model="file" class="form-control"> 
     <button type="submit" class="btn btn-primary">Upload File</button> 
</form> 

そして、私はコントローラにハンドラを作っ:

app.controller('myController', ['$scope', '$firebaseStorage', function($scope, $firebaseStorage) { 

    // Create a Firebase Storage reference 
    var storage = firebase.storage(); 
    var storageRef = storage.ref(); 
    var filesRef = storageRef.child('files'); 

    $scope.uploadFile = function(file) { 
    console.log("Let's upload a file!"); 
    console.log($scope.file); 
    var storageRef = firebase.storage().ref("files"); 
    $firebaseStorage(filesRef).$put($scope.file); 
    }; 

}]); 

最後に私が設定しましたFirebaseの保存ルールを「一般公開」に設定:

service firebase.storage { 
    match /b/myFirebaseProject.appspot.com/o { 
    match /{allPaths=**} { 
     allow read, write: if request.auth != null; 
    } 
    } 
} 

これを実行すると、テストファイルを選択してUpload Fileをクリックし、ファイルが$scopeに読み込まれます。私の指示が働いています。しかし、その後、私はエラーメッセージを取得:

POST https://firebasestorage.googleapis.com/v0/b/myFirebaseProject.appspot.com/o?name=files 403() 

を私はFirebaseストレージにfilesフォルダを作成してみましたが、私は同じ403エラーを得ました。

ありがとうございます!

答えて

1

投稿したルールは公開されていないため、認証が必要です。代わりに、次のようなものを使用したいとします:

service firebase.storage { 
    match /b/myFirebaseProject.appspot.com/o { 
    match /{allPaths=**} { 
     allow read, write; 
    } 
    } 
} 

または、あなたのアプリでFirebase認証を使用してください。

+0

ありがとうございました。 Firebaseが提供する「公開」ルールをコピーして貼り付けましたが、切り取りと貼り付けにいくつか問題がありました。 –

関連する問題