Upload File
Di sini ada perbedaan fungsional yang sangat penting antara menggunakan Server endpoint secara langsung dibandingkan dengan menggunakan Client SDK.
- Server endpoint hanya untuk menghasilkan URL upload. Lalu proses upload file harus dilakukan secara mandiri ke URL tersebut.
- Sedangkan Client SDK dapat menangani proses upload file.
Penanganan secara mandiri
graph TD
ns([Mulai])
ne([Selesai])
n1[User mengunjungi app]
n2{User terlogin?}
n3[User login dengan metode<br>yang sudah dia gunakan]
n4["Minta URL upload (1)"]
n5["Lakukan upload file ke URL tersebut (2)"]
ns-->n1-->n2
n2-- Ya -->n4
n2-- Tidak -->n3-->n4
n4-->n5-->ne
(1) Server endpoint: GET /uploadurl
(2) Upload file secara mandiri (contoh menggunakan Axios):
axios.request({
method: "PUT",
url: upload_url,
headers: {
"Content-Type": file.type,
},
data: file,
});
Menggunakan Client SDK
graph TD
ns([Mulai])
ne([Selesai])
n1[User mengunjungi app]
n2{User terlogin?}
n3[User login dengan metode<br>yang sudah dia gunakan]
n4["Lakukan upload file (1)"]
ns-->n1-->n2
n2-- Ya -->n4
n2-- Tidak -->n3-->n4
n4-->ne
(1) Client SDK method: storage.upload(args)