如何在Firebase存储中创建文件夹?

时间:2016-06-06 18:26:02

标签: javascript firebase firebase-storage firebase-console

因此新的Firebase支持使用Google Cloud Platform进行存储。

您可以使用以下方式将文件上传到images文件夹:

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

如果您想使用代码动态创建子文件夹images/user1234,该怎么办?

官方sample未显示如何执行此操作,也未显示official guidereference docs

Firebase控制台是唯一可以创建文件夹的地方manually

5 个答案:

答案 0 :(得分:20)

Firebase Storage API动态创建“文件夹”作为中间产品:如果您在images/user1234/file.txt创建文件,则会在此过程中创建所有中间“文件夹”,如“images”和“user1234”。所以你的代码变成了:

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

请注意,您需要在foo.txt调用中包含文件名(例如child()),因为引用应包含完整路径以及文件名,否则您的文件将是叫images

答案 1 :(得分:10)

Firebase控制台允许您创建文件夹,因为它是将文件添加到特定文件夹的最简单方法。

但是没有公共API来创建文件夹。而是在向其添加文件时自动创建文件夹。

答案 2 :(得分:2)

你当然可以创建目录......稍微玩一下我做过的参考文献。

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

答案 3 :(得分:1)

String myFolder = "MyImages";
StorageReference riversRef = storageReference.child(myFolder).child("images/pic.jpg");

答案 4 :(得分:0)

Firebase控制台允许您创建文件夹。我认为没有其他方法可以创建文件夹。