📁

Supabase Storage Usage Memo

2021/09/23に公開

Supabaseとは

公式ドキュメント見てもらえればなと。

Storage Usage

Storageの基本的な操作をざっくりメモ程度に残す。
※supabase clientの初期化などは行っていることを前提

アップロード

from.upload()
e.g. avatarsバケットにアップロード

const avatarFile = event.target.files[0]
const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('public/avatar1.png', avatarFile, {
    cacheControl: '3600',
    upsert: false
  })

Parameter

path(required)

type: string

相対ファイルパス。
アップロードする前にバケットを作成する必要がある。

fileBody(required)

type: ArrayBuffer | ArrayBufferView | Blob | File | FormData | ReadableStream | URLSearchParams | string

バケットに保存されるファイルの本体。

fileOptions(optional)

type: FileOptions: { cacheControl?: string contentType?: string upsert?: boolean }

cacheControl: Cache-Control: max-age=<seconds> キャッシュする秒数
contentType: デフォルトはtext/plain;charset=UTF-8
upsert: upsertするかどうか

e.g base64ファイルのアップロード

import {decode} from 'base64-arraybuffer'

const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('public/avatar1.png', decode('base64FileData'), {
    contentType: 'image/png'
  })

ダウンロード

from.download()
e.g. avatarsバケットからファイルをダウンロード

const { data, error } = await supabase
  .storage
  .from('avatars')
  .download('folder/avatar1.png')

Parameter

path(required)

type: string

ダウンロードするファイルのパス

削除

from.remove()
e.g. avatarsバケットからファイルを削除

const { data, error } = await supabase
  .storage
  .from('avatars')
  .remove(['folder/avatar1.png'])

Parameter

paths(required)

type: string[]

削除するファイルの配列。

Discussion