2017-04-20 22 views
0

私はfirebase storageで文書を読んだことがありますが、なんらかの理由でそれを動作させることはできません。ファイルをfirebaseストレージにアップロードできません

私が反応し使用して、どのような私が欲しいのは私のfirebaseストレージにファイルをアップロードできるようにすることですが、私はエラー私はこの上の異なる目が必要だと思う

TypeError: thisRef.put(...).then is not a function 

を得続けるのです。ここで

は私の関数はfirebaseストレージへ

uploadFile = (e) => { 
e.preventDefault(); 
    var file = this.refs.filePath.files[0]; 
    var storageRef = firebase.storage().ref(); 

    //dynamically set reference to the file name 
    var thisRef = storageRef.child(file.name); 

    //put request upload file to firebase storage 
    thisRef.put(file).then(function(snapshot) { 
    console.log('Uploaded a blob or file!'); 
    }); 
} 

UPDATE

ファイルのアップロードですが、それはここで約束(.then)

文句を保つ、そのファイルであります私は働いていますGitHub

+0

コードはわかりやすく表示されます。 jsbinで問題を再現できる方法はありますか? –

+0

gitHubリポジトリを更新しました。それは役に立ちますか?ファイルはfb Storageにアップロードされますが、それは –

答えて

0

あなたのスクリプトは私の環境で正常に動作します。

console.log(thisRef.put(file)); 

を試してみて、thisRef.put(file)を確認することは約束かではありません。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Firebase Test</title> 
    <script src="https://www.gstatic.com/firebasejs/3.8.0/firebase.js"></script> 
    <script> 
     // Initialize Firebase 
     var config = { 
      // your configs 
     }; 
     firebase.initializeApp(config); 
    </script> 
</head> 
<body> 
    <input type="file" id="file" name="datafile"> 
    <script> 
     function fileChange(ev) { 
      var target = ev.target; 
      var file = target.files[0]; 
      var storageRef = firebase.storage().ref(); 
      var thisRef = storageRef.child("public/" + file.name); 
      thisRef.put(file).then(function (snapshot) { 
       console.log('Uploaded a blob or file!'); 
      }); 
     } 
     var inputFile = document.getElementById('file'); 
     inputFile.addEventListener('change', fileChange, false); 
    </script> 
</body> 
</html> 
関連する問題