EmberとEmberFireは比較的新しいです。私はクライアント/ロゴ管理アプリケーションに取り組んでいます。私は現在Firebase認証とFirebaseのデータを期待どおりに動作させています。私はFirebaseストレージにロゴをアップロードするために行くとき、私はこのエラーを提示しています:EmberFire&Firebase Storageリファレンス
コントローラ
firebase: Ember.inject.service('firebase'),
actions: {
createClient(){
let name = this.get('clientName');
let image = document.getElementById('client-image');
let storeName = name.replace(/ /g, '');
let storageRef = firebase.storage().ref();
let file = image.files[0];
let metadata = {
'contentType' : file.type
};
let uploadTask = storageRef.child(`uploads/${storeName}/${file.name}`).put(file, metadata);
uploadTask.on('state_changed', null, function(error){
console.error('Upload Failed:', error);
}, function(){
console.log('Uploaded', uploadTask.snapshot.totalBytes, 'bytes.');
console.log(uploadTask.snapshot.metadata);
let uploadUrl = uploadTask.snapshot.metadata.downloadURLs[0];
console.log('File available at ', url);
let client = this.store.createRecord('client', {
name: name,
image: uploadUrl,
isActive: false,
timestamp: new Date().getTime()
});
client.save();
});
// Tell the route to hide the client form.
this.send('hideAddClientForm');
}
}
テンプレート:ここ
Uncaught Error: No Firebase App '[DEFAULT]' has been created - call Firebase App.initializeApp(). firebase.js:30
が呼び出されているアクションです
<div id="new-overlay" class="overlay" {{action "hideAddClientForm"}}></div>
<div id="newClient">
{{input type="text" id="client-name" placeholder="Client Name" value=clientName}}<br />
{{input type="file" id="client-image" value=clientImage}}
<div class="submitBtn" {{action "createClient"}}>Add Client</div>
</div>
要するに、EmberFireが提供するFirebaseリファレンスにアクセスするには、here in the Quickstartと表示されている「storage()」メソッドを呼び出すことができます。その参照へのアクセスが不可能な場合は、Storageを使用するためにFirebaseの別の「EmberFire以外の」参照を作成する必要がありますか?私は単純に.jpgをアップロードしようとしています。
私は 'firebase.initializeApp()'を試してみましたが、 'あなたのAPIキーは無効です。正しくコピーされているかどうか確認してください。'と言いました。認証とデータベースはうまくいけば、それは機能していないファイルストレージだけです。 –