我想使用node js删除firebase存储中的文件夹,因为这是firebase函数。
例如:
storageRef.child(child1).child(child2).delete();
类似的东西,但是Firebase文档什么也没说。
另一个问题: 当初始化存储文档节点js时需要我的admin json,但是实时数据库不希望这个奇怪吗?
答案 0 :(得分:1)
查看Google Cloud Storage的Node.js客户端API Reference,尤其是delete()
的File
方法。
答案 1 :(得分:1)
此可能会延迟,但是至少在Web上(基本上就是您所需要的),有新的API可以删除整个文件夹。
我测试了删除里面有2张图片的文件夹,它可以正常工作。然后,我尝试了一个包含以下内容的文件夹-A:文件夹-B +图片-A。文件夹-B内部也有图片-B;它仍然删除了文件夹A及其所有内容。
解决方案:
proc sgplot data= FrequencyAdd(where=(count = 6 and person = "Jim"));
scatter x=adm_dt y=Brand/ group = Brand freq=Freq_Flag;
run;
我在官方文档中找不到此文件(也许是真的新API),但是在很酷的文章中我找到了解决方案: Automatically delete your Firebase Storage Files from Firestore with Cloud Functions for Firebase
答案 2 :(得分:0)
您可以使用Node.js和客户端(只要用户具有写权限)就可以这样做:
// Create a reference to the file to delete
var desertRef = storageRef.child('images/desert.jpg');
// Delete the file
desertRef.delete().then(function() {
// File deleted successfully
}).catch(function(error) {
// Uh-oh, an error occurred!
});
在Firebase网站上查看此信息: how to delete files Firebase-storage
答案 3 :(得分:0)
import { storage } from "./firebaseClient";
import { bucket } from "./firebaseServer";
//Let's assume this is the URL of the image we want to delete
const downloadUrl = "https://storage.googleapis.com/storage/v1/b/<projectID>.appspot.com/o/<location>?"
//firebase delete function
const deleteImages = async ({ downloadUrl }) => {
const httpsRef = storage.refFromURL(downloadUrl).fullPath;
return await bucket
.file(httpsRef)
.delete()
.then(() => "success")
.catch(() => "error")
}
//call the deleteImages inside async function
const deleteStatus = await deleteImages({ downloadUrl: oldImage });
console.log(deleteStatus) //=> "success"