输入文件与Firebase多次使用

时间:2018-07-02 04:28:48

标签: javascript firebase firebase-realtime-database

你好,我正在一个项目中,将图像存储在firebase中,然后获取每个图像的url并将其存储在数据库(firebase)中,我无法将这些url存储在同一注册表中,这个问题想知道如果我可以使用从多个输入文件上传的图像的URL创建一个数组,并以此方式将它们保存在单个记录中。

parques:{
  nombre: "xxxxx",
  imgs:[
         "urls"
       ]
}

我在这里留下代码:

var files = document.getElementById('file');
    var fullDirectory= 'imgs';
    var btnDatos= $('#btn-datos');
    var btnImgs = $('#btn-imgs');

    //proceso imgs
    files.addEventListener('change', function(e){
         for (var i = 0; i < e.target.files.length; i++) {
            var imageFile = e.target.files[i];             
            Imagencollage(imageFile);
        }
    })

    //subir imagenes 
    function Imagencollage(imageFile){
        var links= [];
        btnImgs.click(function (){
            var storageRef = firebase.storage().ref(fullDirectory+"/"+imageFile.name);
            var task = storageRef.put(imageFile);
            var name = imageFile.name;
            task.on('state_changed', function(snapshot){           
              //??
            }, function(error) {
              alert('no se subio el archivo');
            }, function() {   
              task.snapshot.ref.getDownloadURL().then(function(downloadURL) {
                    links.push(downloadURL);                    

                    direccionImg(name, links);


              });
            }); 
        })
    }

    //subir datos
    function direccionImg(name, links){
        btnDatos.click(function(){
            var db= firebase.database().ref('parques/');
            var parque= $('#datos').val();  
            var data= {
                    nombre: parque,
                    imgs: links                                     

                 }
            db.push().set(data)
        })
    }

在您面前,谢谢您的帮助

0 个答案:

没有答案