📁
Supabase Storage Usage Memo
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