[firebase/javascript] 選択したファイルをstorageにアップロードする方法
javascriptで選択したファイルをstorageにアップロードする方法は以下の通り
<script src="https://www.gstatic.com/firebasejs/5.0.4/firebase.js"></script> <script> // Initialize Firebase var config = { apiKey: "apiKey", authDomain: "authDomain", databaseURL: "databaseURL", projectId: "projectId", storageBucket: "storageBucket", messagingSenderId: "messagingSenderId" }; firebase.initializeApp(config); $(function() { $('#inputFile').on("change", function() { var file = this.files[0]; if(file != null) { console.log(file.name); // ファイル名をログに出力する if (this.files.length > 0) { // 選択されたファイル情報を取得 console.log(this.files.length); for(var i=0;i<this.files.length;i++){ var file = this.files[i]; var userName = file.name; // Create a root reference var storageRef = firebase.storage().ref(); // Create a reference to image file var ImagesRef = storageRef.child('imagefolder/'+userName); ImagesRef.put(file).then(function(snapshot) { console.log('Uploaded a blob or file!'); ImagesRef.getDownloadURL().then(url => { console.log('imageurl:'+url); }) }); }} } }); }); </script>
上記コードでは、inputFileのIDを持つファイル選択ボタンを押して、アップロードするファイルを選択した瞬間にimagefolderフォルダにデータがアップロードされ、アップロードが成功すると公開用URLをログに出力する
またHTMLのBody部分に下記コードを追加しておくこと
<input type="file" id="inputFile">