Ikhtisar
- Dapatkan informasi unggah file: Minta kredensial unggah dari server (URL OSS + Header tanda tangan).
- Unggah file ke OSS: Gunakan URL dan Header yang dikembalikan pada langkah 1 untuk melakukan PUT konten file ke OSS.
- Commit file: Beri tahu server bahwa unggahan telah selesai untuk memfinalisasi penyimpanan file.
Langkah 1: Dapatkan informasi unggah file
Panggil APIPOST /v2.0/storage/spaces/files/{parentDentryUuid}/uploadInfos/query, dengan mengirimkan parentDentryUuid (pengidentifikasi unik dari direktori induk) dari direktori target dan unionId operator untuk memperoleh kredensial yang dibutuhkan untuk unggahan ini.
Untuk detail API, lihat dokumentasi Dapatkan informasi unggah file. Untuk petunjuk memanggil API, lihat dokumentasi tentang cara memanggil Server API.
Parameter permintaan utama:
-
parentDentryUuid(Path): dentryUuid dari direktori unggah target. Untuk mengunggah ke direktori root Knowledge Base, dapatkan dentryUuid direktori root dengan salah satu dari dua cara berikut:- Panggil API Dapatkan informasi Knowledge Base Dokumen Saya dan ambil nilai bidang
rootNodeIddi bawahworkspacepada respons. - Panggil API Dapatkan daftar Knowledge Base dan ambil nilai bidang
rootNodeIddi bawahworkspacespada respons.
- Panggil API Dapatkan informasi Knowledge Base Dokumen Saya dan ambil nilai bidang
-
unionId(Query): unionId operator. Panggil API Kueri detail pengguna untuk memperolehnya. -
protocol(Body): Nilai tetapHEADER_SIGNATURE. -
option.preCheckParam.name(Body): Nama file (termasuk ekstensi). Tidak boleh mengandung karakter khusus (*,",<,>,|) dan tidak boleh diakhiri dengan..
Parameter respons:
uploadKey: Pengidentifikasi unik untuk unggahan ini, digunakan pada langkah 3.headerSignatureInfo.resourceUrls: URL unggah OSS, digunakan pada langkah 2.headerSignatureInfo.headers: Header permintaan OSS, digunakan pada langkah 2.expirationSeconds: Waktu kedaluwarsa kredensial (dalam detik). Selesaikan langkah-langkah berikutnya sebelum kedaluwarsa.
Langkah 2: Unggah file ke OSS
GunakanresourceUrls[0] yang dikembalikan pada langkah 1 sebagai URL unggah dan headers sebagai header permintaan. Unggah konten file lokal langsung ke OSS melalui metode HTTP PUT.
Content-Type harus disetel secara eksplisit menjadi string kosong. Jika tidak, verifikasi tanda tangan akan gagal.Langkah 3: Commit file
Setelah unggahan OSS selesai, panggil APIPOST /v2.0/storage/spaces/files/{parentDentryUuid}/commit untuk secara resmi menulis file ke direktori Knowledge Base dan menyelesaikan seluruh proses unggah.
Catatan
- Panggilan API yang berhasil mengembalikan informasi file (
dentry), termasuk ID file, uuid, dan ruang tempat file itu berada. Unggahan selesai. - Untuk detail API, lihat dokumentasi Commit file. Untuk petunjuk memanggil API, lihat dokumentasi tentang cara memanggil Server API.
Parameter permintaan utama:
parentDentryUuid(Path): Jaga konsistensi dengan langkah 1.unionId(Query): unionId operator. Panggil API Kueri detail pengguna untuk memperolehnya.uploadKey(Body): uploadKey yang dikembalikan pada langkah 1, digunakan untuk mengaitkan unggahan ini.name(Body): Nama file (termasuk ekstensi).option.conflictStrategy(Body): Strategi konflik nama file. Opsi:AUTO_RENAME(default, otomatis mengganti nama) atauOVERWRITE(timpa).
Contoh HTTP:
Ringkasan proses lengkap
Catatan
- Selama unggahan pada langkah 2,
Content-Typeharus disetel menjadi string kosong. Jika tidak, verifikasi tanda tangan OSS akan gagal. - Kredensial unggah yang dikembalikan pada langkah 1 memiliki waktu kedaluwarsa (
expirationSeconds). Selesaikan langkah 2 dan 3 sebelum kedaluwarsa. Jika tidak, Anda harus memanggil langkah 1 lagi. - Ketika tipe ruang penyimpanan adalah
USER, hanya pemilik ruang dan administrator yang memiliki izin operasi. Karyawan lain harus terlebih dahulu diberi otorisasi melalui API “Tambah Izin”. - Ketika tipe ruang penyimpanan adalah
APP, siapa pun yang melakukan operasi harus terlebih dahulu diberi otorisasi melalui API “Tambah Izin”.