HTTP API
Upload file Field Lampiran dan Collection File mendukung pemrosesan melalui HTTP API. Berdasarkan storage engine berbeda yang digunakan oleh field lampiran atau Collection File, ada cara pemanggilan yang berbeda.
Upload Sisi Server
Untuk storage engine open-source bawaan dalam proyek seperti S3, OSS, COS, dan lainnya, HTTP API sama dengan fungsi upload antarmuka pengguna, file diupload melalui server. Pemanggilan endpoint perlu meneruskan token JWT berbasis login pengguna melalui header request Authorization, atau akan ditolak aksesnya.
Field Lampiran
Lakukan operasi create ke resource Collection lampiran (attachments), kirim request dalam bentuk POST, dan upload konten biner melalui field file. Setelah dipanggil, file akan diupload ke storage engine default.
Jika perlu mengupload file ke storage engine berbeda, dapat ditentukan storage engine yang sudah dikonfigurasi pada field Collection terkait melalui parameter attachmentField (jika tidak dikonfigurasi, akan diupload ke storage engine default).
Collection File
Upload ke Collection File akan otomatis menghasilkan record file. Lakukan operasi create ke resource Collection File, kirim request dalam bentuk POST, dan upload konten biner melalui field file.
Upload ke Collection File tidak perlu menentukan storage engine, file akan diupload ke storage engine yang dikonfigurasi pada Collection tersebut.
Upload Sisi Klien
Untuk storage engine yang kompatibel S3 yang disediakan oleh plugin komersial S3-Pro, upload HTTP API perlu dipanggil dalam beberapa langkah.
Field Lampiran
-
Mendapatkan informasi storage engine
Lakukan operasi
getBasicInfopada Collection storage (storages), sambil membawa identifier storage space (storage name), untuk meminta informasi konfigurasi storage engineContoh informasi konfigurasi storage engine yang dikembalikan:
-
Mendapatkan informasi pre-signed dari penyedia layanan
Lakukan operasi
createPresignedUrlpada resourcefileStorageS3, kirim request dalam bentuk POST, dan bawa informasi terkait file dalam body, untuk mendapatkan informasi upload pre-signedPenjelasan:
- name: Nama file
- size: Ukuran file (dalam bytes)
- type: Tipe MIME file, dapat merujuk ke: Tipe MIME Umum
- storageId: id storage engine (field
idyang dikembalikan pada langkah pertama) - storageType: Tipe storage engine (field
typeyang dikembalikan pada langkah pertama)
Contoh data request:
Struktur data informasi pre-signed yang didapatkan sebagai berikut
-
Upload File
Gunakan
putUrlyang dikembalikan untuk melakukan requestPUT, mengupload file sebagai body.Penjelasan:
- putUrl: Field
putUrlyang dikembalikan pada langkah sebelumnya - file_path: Path file lokal yang akan diupload
Contoh data request:
- putUrl: Field
-
Membuat Record Baris File
Setelah upload berhasil, lakukan operasi
createpada resource Collection lampiran (attachments), kirim request dalam bentuk POST, untuk membuat record file.Penjelasan data dependency dalam data-raw:
- title: Field
fileInfo.titleyang dikembalikan pada langkah sebelumnya - filename: Field
fileInfo.keyyang dikembalikan pada langkah sebelumnya - extname: Field
fileInfo.extnameyang dikembalikan pada langkah sebelumnya - path: Default kosong
- size: Field
fileInfo.sizeyang dikembalikan pada langkah sebelumnya - url: Default kosong
- mimetype: Field
fileInfo.mimetypeyang dikembalikan pada langkah sebelumnya - meta: Field
fileInfo.metayang dikembalikan pada langkah sebelumnya - storageId: Field
idyang dikembalikan pada langkah pertama
Contoh data request:
- title: Field
Collection File
Tiga langkah pertama sama dengan upload field lampiran, tetapi pada langkah keempat perlu membuat record file. Lakukan operasi create pada resource Collection File, kirim request dalam bentuk POST, dan upload informasi file melalui body.
Penjelasan data dependency dalam data-raw:
- title: Field
fileInfo.titleyang dikembalikan pada langkah sebelumnya- filename: Field
fileInfo.keyyang dikembalikan pada langkah sebelumnya- extname: Field
fileInfo.extnameyang dikembalikan pada langkah sebelumnya- path: Default kosong
- size: Field
fileInfo.sizeyang dikembalikan pada langkah sebelumnya- url: Default kosong
- mimetype: Field
fileInfo.mimetypeyang dikembalikan pada langkah sebelumnya- meta: Field
fileInfo.metayang dikembalikan pada langkah sebelumnya- storageId: Field
idyang dikembalikan pada langkah pertamaContoh data request:

