HostBase

Produkty

Storage

Buckety, upload plików, podpisane URL-e i zarządzanie plikami w panelu.

Storage przechowuje pliki w bucketach. Dostęp kontrolujesz politykami RLS na tabeli storage.objects.

Utworzenie bucketu

insert into storage.buckets (id, name, public)
values ('avatars', 'avatars', true);

Upload

const file = event.target.files[0];
const { data, error } = await supabase.storage
  .from("avatars")
  .upload("user-123/avatar.png", file, { upsert: true, contentType: file.type });

Publiczny URL

const { data } = supabase.storage
  .from("avatars")
  .getPublicUrl("user-123/avatar.png");

Transformacje obrazów w locie (transform: { width, height }) — wkrótce.

Podpisane URL-e (prywatne buckety)

const { data } = await supabase.storage
  .from("faktury")
  .createSignedUrl("2026/10/FV-001.pdf", 60 * 10); // ważny 10 minut

Polityka: użytkownik zapisuje tylko do swojego folderu

create policy "Upload do własnego folderu"
on storage.objects for insert to authenticated
with check (
  bucket_id = 'avatars'
  and (storage.foldername(name))[1] = auth.uid()::text
);

Storage w panelu

W zakładce Storage projektu tworzysz buckety (publiczne lub prywatne, z limitem rozmiaru i typów MIME), przeglądasz pliki w folderach, wgrywasz pliki do 10 MB prosto z przeglądarki, kopiujesz publiczny URL lub podpisany URL ważny 60 minut i usuwasz obiekty.

Maksymalny rozmiar pojedynczego pliku przez API: 50 MB. Pliki są przechowywane na dysku serwera projektu w Warszawie.