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

Javascript 如何在Firebase存储中创建文件夹?,javascript,firebase,firebase-storage,firebase-console,Javascript,Firebase,Firebase Storage,Firebase Console,因此,新Firebase支持使用Google云平台进行存储 您可以使用以下方式将文件上载到图像文件夹: var uploadTask = storageRef.child('images').put(file, metadata); 如果要使用代码动态创建子文件夹images/user1234,该怎么办 官方没有说明如何做到这一点,or也没有说明 Firebase控制台是唯一可以创建文件夹的地方吗?Firebase控制台允许您创建文件夹,因为它是将文件添加到特定文件夹的最简单方法 但是没有用于

因此,新Firebase支持使用Google云平台进行存储

您可以使用以下方式将文件上载到
图像
文件夹:

var uploadTask = storageRef.child('images').put(file, metadata);
如果要使用代码动态创建子文件夹
images/user1234
,该怎么办

官方没有说明如何做到这一点,or也没有说明


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

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


但是没有用于创建文件夹的公共API。相反,文件夹是在您向其中添加文件时自动创建的。

Firebase存储API动态创建“文件夹”作为中间产品:如果您在
images/user1234/file.txt
中创建文件,则所有中间“文件夹”如“images”和“user1234”都将随之创建。因此,您的代码变成:

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

请注意,您需要在
child()
调用中包括文件名(
foo.txt
),因为引用应包括完整路径和文件名,否则您的文件将被称为
images

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

您当然可以创建目录。。。通过一些参考资料,我做了以下工作

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"))
    }
}

我们可以在存储控制台中上载文件夹吗?这会给我“\u filePath.includes不是一个函数”。。。知道为什么会这样吗?我传递给.child()的路径看起来是正确的(一定要打印到控制台上)。你知道Frank、Mike和我之间的答案实际上是一样的,只是说了不同的方式…你的答案没有使用.child(),而是将文件夹路径放在ref()而不是child中。在AngularFire中,它实际上按照我预期的方式工作。在Mike的例子中,我遇到了错误的父文件夹问题。也许是AngularFire语法的一个怪癖。选择总是好的。
String myFolder = "MyImages";
StorageReference riversRef = storageReference.child(myFolder).child("images/pic.jpg");