Firebaseストレージとリアルタイムデータベースを使用して、それぞれイメージとそのダウンロードURLを保存しています。ファイル名はランダムに生成され、ダウンロードURLが生成され、リアルタイムデータベースに保存されます。Firebaseストレージイメージの削除ダウンロードURL付き
シナリオ:ユーザーが新しい画像をアップロードした場合(たとえばプロフィール画像の場合)、downloadImageurlのヘルプを使用して古い画像を削除したい場合(画像が最初にアップロードされ、同じものがリアルタイムデータベースに保存されます)どのように古いイメージを削除することができますか?私は以下のコードを試しましたが、動作させるためにはファイル名を取得する必要があります。あなたが欲しいものに応じて
gcs
.bucket("e**********.appspot.com") // find it in Firebase>Storage>"gs://...." copy without gs
//or go to console.cloud.google.com/ buckets and copy name
.file("images/" +event.params.uid+"/"+filename) //file location in my storage
.delete()
.then(() => {
console.log(`gs://${bucketName}/${filename} deleted.`);
})
.catch(err => {
console.error('ERROR-DELETE:', err+ " filename: "+filename);
});
このコードをクラウド機能で実行していますか? Google Cloud StorageノードAPIを使用していますか?ここで何が起こっているのかについてより多くの文脈を提供すれば役に立つかもしれません。 –
@DougStevensonはい私は雲機能を使用しています。更新された質問を見つけてください。 – Rohit
私はconst gcs = require( '@ google-cloud/storage')()を使用しています。 githubチュートリアルに従ってサムネイル画像を生成しました。これに関する助けがさらに進んでいくと助かります – Rohit