🐕

supabaseストレージから画像を削除したいが何故か消せない

2025/02/03に公開

削除するための関数を使っても何故かストレージから消えない

logはストレージから削除しましたになっているのでコードに問題はなさそう

 const {error}= await supabase.storage.from('public-image-bucket').remove([path])
    if (error) {
      throw new Error("ストレージからの画像削除に失敗しました");
    }else{
      console.log("ストレージから削除しました");
      
    }

supabase側のポリシーを設定していないので削除が実行されていない?

ポリシーを作成して見たがまだ消せない

ポリシー設定方法参考

https://zenn.dev/naoko3in4/articles/8b17eef9111a67#削除用の-supabase-ポリシーについて

結論

取得しているpathがファイル名だけではなく、URLも含まれていたので正常に削除出来なかった、
削除に必要なのはフォルダ名+ファイル名なので、httpsから始まる部分から、フォルダ名の前のスラッシュ[/]までをreplaseすれば良い

Discussion