From ffdde846aadfd0fbb52b0eb34fb3b3da30953a34 Mon Sep 17 00:00:00 2001 From: Beng Eu Date: Wed, 21 Jul 2021 12:12:55 +0800 Subject: [PATCH] Document from.upload() and from.update() workaround for React Native --- web/spec/supabase.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/web/spec/supabase.yml b/web/spec/supabase.yml index b6e3a05e9cc..45f4e397478 100644 --- a/web/spec/supabase.yml +++ b/web/spec/supabase.yml @@ -986,6 +986,7 @@ pages: - 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: - name: Upload file isSpotlight: true @@ -1000,6 +1001,18 @@ pages: upsert: false }) ``` + - name: Upload file using `ArrayBuffer` from base64 file data + js: | + ```js + import {decode} from 'base64-arraybuffer' + + const { data, error } = await supabase + .storage + .from('avatars') + .upload('public/avatar1.png', decode('base64FileData'), { + contentType: 'image/png' + }) + ``` storage.from.update(): title: 'from.update()' @@ -1008,6 +1021,7 @@ pages: - 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: - name: Update file isSpotlight: true @@ -1022,6 +1036,18 @@ pages: upsert: false }) ``` + - name: Update file using `ArrayBuffer` from base64 file data + js: | + ```js + import {decode} from 'base64-arraybuffer' + + const { data, error } = await supabase + .storage + .from('avatars') + .update('public/avatar1.png', decode('base64FileData'), { + contentType: 'image/png' + }) + ``` storage.from.move(): title: 'from.move()'