HTTP API
Trình quản lý tệpCommunity Edition+Việc upload file vào field attachment và bảng file đều hỗ trợ thông qua HTTP API. Tùy theo storage engine mà attachment hoặc bảng file sử dụng, sẽ có các cách gọi khác nhau.
Upload từ server
Đối với các storage engine open source tích hợp sẵn trong dự án như S3, OSS, COS, HTTP API gọi giống với chức năng upload trên giao diện người dùng, file đều được upload qua server. Khi gọi interface cần truyền JWT token dựa trên đăng nhập của người dùng qua header Authorization, nếu không sẽ bị từ chối truy cập.
Field attachment
Thực hiện thao tác create đối với resource bảng attachment (attachments), gửi request dạng POST, và upload nội dung binary qua field file. Sau khi gọi, file sẽ được upload vào storage engine mặc định.
Nếu cần upload file vào storage engine khác, có thể chỉ định thông qua tham số attachmentField trỏ đến storage engine đã cấu hình của field thuộc bảng dữ liệu (nếu chưa cấu hình, sẽ upload vào storage engine mặc định).
Bảng file
Upload vào bảng file sẽ tự động sinh bản ghi file. Thực hiện thao tác create đối với resource bảng file, gửi request dạng POST, upload nội dung binary qua field file.
Khi upload vào bảng file không cần chỉ định storage engine, file sẽ được upload vào storage engine đã cấu hình cho bảng đó.
Upload từ client
Đối với storage engine tương thích S3 cung cấp bởi plugin thương mại S3-Pro, HTTP API upload cần chia thành nhiều bước để gọi.
Field attachment
-
Lấy thông tin storage engine
Thực hiện thao tác
getBasicInfođối với bảng storage (storages), kèm theo định danh storage (storage name), yêu cầu thông tin cấu hình storage engineVí dụ thông tin cấu hình storage engine trả về:
-
Lấy thông tin presigned của nhà cung cấp
Thực hiện thao tác
createPresignedUrlđối với resourcefileStorageS3, gửi request dạng POST, kèm thông tin liên quan đến file trong body, lấy thông tin presigned uploadMô tả:
- name: tên file
- size: kích thước file (đơn vị bytes)
- type: loại MIME của file, có thể tham khảo: Các loại MIME thông dụng
- storageId: id của storage engine (field
idtrả về ở bước 1) - storageType: loại storage engine (field
typetrả về ở bước 1)
Ví dụ dữ liệu request:
Cấu trúc dữ liệu thông tin presigned trả về như sau
-
Upload file
Sử dụng
putUrltrả về để gửi requestPUT, upload file dưới dạng body.Mô tả:
- putUrl: field
putUrltrả về ở bước trước - file_path: đường dẫn file local cần upload
Ví dụ dữ liệu request:
- putUrl: field
-
Tạo bản ghi file
Sau khi upload thành công, thực hiện thao tác
createđối với resource bảng attachment (attachments), gửi request dạng POST, tạo bản ghi file.Mô tả các dữ liệu phụ thuộc trong data-raw:
- title: field
fileInfo.titletrả về ở bước trước - filename: field
fileInfo.keytrả về ở bước trước - extname: field
fileInfo.extnametrả về ở bước trước - path: mặc định để trống
- size: field
fileInfo.sizetrả về ở bước trước - url: mặc định để trống
- mimetype: field
fileInfo.mimetypetrả về ở bước trước - meta: field
fileInfo.metatrả về ở bước trước - storageId: field
idtrả về ở bước 1
Ví dụ dữ liệu request:
- title: field
Bảng file
Ba bước đầu giống với upload field attachment, nhưng ở bước 4 cần tạo bản ghi file, thực hiện thao tác create đối với resource bảng file, gửi request dạng POST, và upload thông tin file qua body.
Mô tả các dữ liệu phụ thuộc trong data-raw:
- title: field
fileInfo.titletrả về ở bước trước- filename: field
fileInfo.keytrả về ở bước trước- extname: field
fileInfo.extnametrả về ở bước trước- path: mặc định để trống
- size: field
fileInfo.sizetrả về ở bước trước- url: mặc định để trống
- mimetype: field
fileInfo.mimetypetrả về ở bước trước- meta: field
fileInfo.metatrả về ở bước trước- storageId: field
idtrả về ở bước 1Ví dụ dữ liệu request:

