JavaScript: Upload a file
Policy permissions required:
buckets
permissions: none
objects
permissions: insert
For React Native, using either Blob
, File
or FormData
does not work as intended. Upload file using ArrayBuffer
from base64 file data instead, see example below.
Examples Upload file const avatarFile = event.target.files[0]
const \{ data, error \} = await supabase
.storage
.from('avatars')
.upload('public/avatar1.png', avatarFile, \{
cacheControl: '3600',
upsert: false
\})
Upload file using `ArrayBuffer` from base64 file data import \{ decode \} from 'base64-arraybuffer'
const \{ data, error \} = await supabase
.storage
.from('avatars')
.upload('public/avatar1.png', decode('base64FileData'), \{
contentType: 'image/png'
\})