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