JavaScript: upload

Uploads a file to an existing bucket.

Parameters

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'
  })

Handling errors

const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('public/avatar1.png', avatarFile)

if (error) {
  // Log the full error so fields like `statusCode` and `error` (the
  // Storage error name, e.g. "Duplicate") aren't hidden behind `error.message`.
  console.error(error)
  return
}