firebase storageから一括でpdfファイルをとってそれをループさせてタイムラインにpdfファイルを表示させたいです。
js
1 var config = { 2 apiKey: "hoge", 3 authDomain: "hoge", 4 databaseURL: "https://hoge.firebaseio.com/", 5 storageBucket: "gs://hoge.appspot.com", 6 }; 7 firebase.initializeApp(config); 8 //ストレージのルートのリファレンスを取得 9 var storageRef = firebase.storage().ref(); 10 //ストレージのルートにある子リファレンスを取得 11 var imgSample = storageRef.child("pdf"); 12 13 document.getElementById('upload').addEventListener('click', function() { 14 var files = document.getElementById('file').files; 15 var image = files[0]; 16 17 var ref = firebase.storage().ref().child("pdf").child(image.name); 18 ref.put(image).then(function(snapshot) { 19 alert('アップロードしました'); 20 }); 21 })
これが、アップローダーで、アップロードさせることには成功したのですが、ストレージにアップロードしたやつを、一括で表示するようなやりかたがしりたいです。
rule
1service firebase.storage { 2 match /b/{bucket}/o { 3 match /{allPaths=**} { 4 allow read,write : if request.resource.contentType.matches('application/pdf') 5 //&& request.auth != null; 6 } 7 } 8}
ルールはこうなっています
その後
js
1var config = { 2 apiKey: "AIzaSyASDKIvF5vMMsYKONoG_vOyG_XG6YUiDbY", 3 authDomain: "organum-cba12.firebaseapp.com", 4 databaseURL: "https://organum-cba12.firebaseio.com/", 5 storageBucket: "gs://organum-cba12.appspot.com", 6 projectId: "organum-cba12" 7 }; 8 firebase.initializeApp(config); 9 //ストレージのルートのリファレンスを取得 10 var storageRef = firebase.storage().ref(); 11 //ストレージのルートにある子リファレンスを取得 12 var imgSample = storageRef.child("pdf"); 13 14 var db = firebase.firestore(); 15 16 document.getElementById('upload').addEventListener('click', function() { 17 var files = document.getElementById('file').files; 18 var image = files[0]; 19 20 var ref = firebase.storage().ref().child("pdf").child(image.name); 21 var metadata = { 22 contentType: 'image', 23 customMetadata: { 24 'dogType': 'Lab', 25 }, 26 }; 27 ref.put(image,metadata).then(function(snapshot) { 28 alert('アップロードしました'); 29 var dbRef = db.collection("images").doc(image.name); 30 var setData = dbRef.set({ 31 downloadURl: snapshot.downloadURL 32 33 }).then( () => { 34 console.log("Data stored in Firestore!"); 35 }); 36 }) 37})
firestoreを使ってやっています
あなたの回答
tips
プレビュー