Arsitektur Resumable Upload Direct-to-Drive

Unggah Berkas Tanpa Batas Payload 4.5 MB Vercel

Unggah file video, master gambar resolusi tinggi, atau arsip hingga ukuran gigabyte secara langsung dari browser ke Google Drive API via stream HTTP PUT.

Masalah Nyata: Limit 4.5 MB Serverless

Pada paket gratis Vercel Serverless (Hobby), request body dibatasi maksimal 4.5 MB dengan batas waktu eksekusi 10 detik. Jika aplikasi mencoba memproses upload file 50 MB melalui API route Next.js biasa, fungsi serverless akan langsung terputus dengan error 413 Payload Too Large.

Solusi Elegan OpenDrive Gateway:

Vercel hanya bertindak sebagai *orchestrator* ringan: memvalidasi JWT Supabase, meminta tiket resumable ke Google Drive API (selesai dalam ~300 ms), dan mengembalikan URL sesi langsung. Browser mengirimkan aliran biner langsung ke Google Cloud!

Alur 3 Langkah Direct Upload

1

Inisiasi Tiket (POST /api/upload/init)

Klien mengirim nama, ukuran, & tipe MIME. Vercel menerbitkan Session URI Google Drive.

2

Stream Biner Langsung (HTTP PUT)

Browser mengunggah file biner langsung ke Google Drive API. Vercel tidak terbebani kuota data.

3

Pencatatan Metadata Supabase

File ID Google Drive dicatat di PostgreSQL Supabase di bawah aturan RLS yang aman.