Javascript 如何删除';s路径是否为实时数据库?

Javascript 如何删除';s路径是否为实时数据库?,javascript,firebase,firebase-realtime-database,firebase-storage,google-cloud-functions,Javascript,Firebase,Firebase Realtime Database,Firebase Storage,Google Cloud Functions,我正在运行Firebase,在实时数据库中,我保存了要加载的当前文件的文件名。然后我使用云函数创建缩略图。当我更改文件时,我正在尝试创建一个云函数来删除缩略图?这是我目前拥有的,我能够加载完整路径对象不可用,因为我无法加载铲斗 exports.deleteThumbnails = functions.database.ref('/users/{userId}/avatar').onUpdate(event => { const prevAvatar = event.data.pre

我正在运行Firebase,在实时数据库中,我保存了要加载的当前文件的文件名。然后我使用云函数创建缩略图。当我更改文件时,我正在尝试创建一个云函数来删除缩略图?这是我目前拥有的,我能够加载完整路径<代码>对象不可用,因为我无法加载铲斗

exports.deleteThumbnails = functions.database.ref('/users/{userId}/avatar').onUpdate(event => {
    const prevAvatar = event.data.previous.val();
    const filePath = `${event.params.userId}/avatar/40_${prevAvatar}`;
    console.log(`FilePath: ${filePath}`);

    // const bucket = gcs.bucket(object.bucket);
    // const file = bucket.file(filePath);
    // const pr = file.delete();

    return event;
});

如果您的完整路径是您在firebase存储中存储文件的位置,则以下代码应该会有所帮助:

var admin = require("firebase-admin");
var serviceAccount = require("path/to/serviceAccountKey.json");
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    storageBucket: "<BUCKET_NAME>.appspot.com"
});

var bucket = admin.storage().bucket();
exports.deleteThumbnails = functions.database.ref('/users/{userId}/avatar').onUpdate(event => {
    const prevAvatar = event.data.previous.val();
    const filePath = `${event.params.userId}/avatar/40_${prevAvatar}`;
    console.log(`FilePath: ${filePath}`);
    return bucket.file(filePath)
        .delete()
        .then(() => {
             console.log(`file deleted.`);
        })
        .catch(err => {
             console.error('ERROR:', err);
        });
});
var admin=require(“firebase admin”);
var servicecomport=require(“path/to/servicecomportkey.json”);
admin.initializeApp({
凭证:管理员凭证证书(serviceAccount),
storageBucket:“.appspot.com”
});
var bucket=admin.storage().bucket();
exports.deleteThumbnails=functions.database.ref('/users/{userId}/avatar').onUpdate(事件=>{
const prevAvatar=event.data.previous.val();
const filePath=`${event.params.userId}/avatar/40{prevAvatar}`;
log(`FilePath:${FilePath}`);
返回bucket.file(文件路径)
1.删除()
.然后(()=>{
log(`file deleted.`);
})
.catch(错误=>{
console.error('error:',err);
});
});

要了解文件上的所有操作,请浏览以下内容:并访问以了解admin sdk如何与存储一起工作,请遵循以下内容:

感谢您提供的提示。获取此代码时出错
TypeError:admin.storage不是一个函数
能否发送package.json文件?因为在我的代码中,我刚刚完成了var admin=require(“firebase admin”);var bucket=admin.storage().bucket();还有出口。删除缩略图。。。。。。它工作得很好。哦,好的……很可能我正在运行旧的软件包:{“名称”:“功能”,“描述”:“Firebase的云功能”,“依赖项”:{“@google Cloud/storage”:“^0.4.0”,“Firebase管理”:“^4.1.2”,“Firebase功能”:“^0.5”,“lodash”:“^4.17.4”,“请求承诺”:“^2.0.0”,“sharp”:“^0.18.4”,“private”:真的}更新了firebase管理员,一切工作都完美无缺。