因此新的Firebase支持使用Google Cloud Platform进行存储。
您可以使用以下方式将文件上传到images
文件夹:
var uploadTask = storageRef.child('images').put(file, metadata);
如果您想使用代码动态创建子文件夹images/user1234
,该怎么办?
官方sample未显示如何执行此操作,也未显示official guide或reference docs。
Firebase控制台是唯一可以创建文件夹的地方manually?
答案 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"))
}
}
答案 3 :(得分:1)
String myFolder = "MyImages";
StorageReference riversRef = storageReference.child(myFolder).child("images/pic.jpg");
答案 4 :(得分:0)
Firebase控制台允许您创建文件夹。我认为没有其他方法可以创建文件夹。