2016-06-06 9 views
8

तो नए फ़ायरबेस को Google क्लाउड प्लेटफ़ॉर्म का उपयोग करके संग्रहण के लिए समर्थन है। क्या गतिशील कोड का उपयोग कर आप एक सबफ़ोल्डर images/user1234 बनाना चाहते हैंफ़ायरबेस स्टोरेज में फ़ोल्डर कैसे बनाएं?

var uploadTask = storageRef.child('images').put(file, metadata); 

:

आप का उपयोग images फ़ोल्डर में एक फ़ाइल अपलोड कर सकते हैं?

ऑफिकल sample यह नहीं दिखाता कि यह कैसे करें, न ही official guide या reference docs

क्या फ़ायरबेस कंसोल एकमात्र ऐसा स्थान है जहां फ़ोल्डर manually बनाया जा सकता है?

उत्तर

8

फ़ायरबेस कंसोल आपको एक फ़ोल्डर बनाने की अनुमति देता है, क्योंकि यह किसी विशिष्ट फ़ोल्डर में फ़ाइलों को जोड़ने का सबसे आसान तरीका है।

लेकिन फ़ोल्डर बनाने के लिए कोई सार्वजनिक API नहीं है। इसके बजाय फ़ोल्डर स्वचालित रूप से बनाए जाते हैं क्योंकि आप उन्हें फाइलें जोड़ते हैं।

15

फायरबेस स्टोरेज एपीआई गतिशील रूप से "फ़ोल्डर्स" को मध्यवर्ती उत्पादों के रूप में बनाता है: यदि आप images/user1234/file.txt पर फ़ाइल बनाते हैं, तो सभी इंटरमीडिएट "फ़ोल्डर्स" जैसे "छवियों" और "user1234" को साथ ही बनाया जाएगा। तो अपने कोड हो जाता है:

var uploadTask = storageRef.child('images/user1234/file.txt').put(file, metadata); 

ध्यान दें कि आप, child() कॉल में फ़ाइल नाम (foo.txt उदाहरण के लिए) शामिल करने की जरूरत के बाद से संदर्भ पूर्ण पथ के साथ-साथ फ़ाइल नाम शामिल होना चाहिए, नहीं तो आपकी फ़ाइल होगा images कहा जाता है।

+0

हम भंडारण कंसोल में कोई फ़ोल्डर अपलोड कर सकते हैं? – user142020a

0

फायरबेस कंसोल आपको एक फ़ोल्डर बनाने की अनुमति देता है। मुझे नहीं लगता कि फ़ोल्डर बनाने का दूसरा तरीका है।

0

आप निश्चित रूप से निर्देशिका बना सकते हैं ... संदर्भों के साथ खेलने के थोड़ा सा मैंने निम्नलिखित किया था।

test = (e,v) => { 
    let fileName = "filename" 
    let newDirectory = "someDir" 
    let storage = firebase.storage().ref(`images/${newDirectory}/${fileName}`) 

    let file = e.target.files[0] 
    if(file !== undefined && file.type === "image/png") { 
     storage.put(file) 
      .then(d => console.log('you did it')) 
      .catch(d => console.log("do something")) 
    } 
} 

enter image description here

+1

आप जानते हैं कि उत्तर वास्तव में फ्रैंक, माइक और मेरे बीच समान है, मैंने अलग-अलग तरीकों से कहा ... – JustDave

संबंधित मुद्दे