Quản lý File
File Object Schema
Đối tượng đại diện cho một file hoặc thư mục (directory) trong hệ thống quản lý file.
JSON Schema
| Trường (Field) | Kiểu (Type) | Mô tả (Description) |
|---|---|---|
id | int | ID file / thư mục |
company_id | int | ID công ty sở hữu |
creator_id | int | ID người tạo |
directory_id | int | ID thư mục cha (0 nếu nằm ở root) |
object_type | int | Loại đối tượng. Xem Bảng mã Object Type |
object_id | int | ID đối tượng liên kết (0 nếu không liên kết) |
md5_hash | string | MD5 hash nội dung file |
file_path | string | Đường dẫn tương đối của file trong kho lưu trữ (dùng url để truy cập file) |
width | int | Chiều rộng (pixel), chỉ có giá trị với file ảnh |
height | int | Chiều cao (pixel), chỉ có giá trị với file ảnh |
randomcode | string | Mã xác thực ngẫu nhiên (cùng với md5_hash dùng để xem chi tiết file) |
title | string | Tên file hoặc tên thư mục |
description | string | Mô tả |
extension | string | Phần mở rộng file (jpg, png, pdf...) |
size_in_byte | int | Dung lượng file (bytes) |
origin | string | Nguồn gốc file. Xem Bảng mã Origin |
customer_id | int | ID khách hàng liên kết (0 nếu không có) |
status | int | Trạng thái. Xem Bảng mã Status |
is_directory | int | 1: Thư mục, 0: File |
ip_address | string | IP người upload |
date_created | int | Thời gian tạo (Unix timestamp) |
date_modified | int | Thời gian sửa đổi (Unix timestamp) |
is_private | int | 1: file riêng tư (chỉ tải được qua url có chữ ký, hết hạn sau một thời gian), 0: file công khai |
url | string | URL đầy đủ để truy cập file. File công khai: URL cố định. File riêng tư (is_private = 1): URL có chữ ký và hạn dùng (mặc định khoảng 1-2 giờ); lấy lại file object để có URL mới, không lưu URL này lâu dài |
Các bảng mã giá trị (Enums)
Loại đối tượng (Object Type)
| Giá trị | Key | Mô tả |
|---|---|---|
| 10 | OBJECTTYPE_FILE | File công ty (có hỗ trợ thư mục) |
| 30 | OBJECTTYPE_ATTACHMENT | File đính kèm |
| 40 | OBJECTTYPE_CMS | File CMS (có hỗ trợ thư mục) |
Nguồn gốc (Origin)
| Giá trị | Mô tả |
|---|---|
company | File công ty |
project | File dự án |
checkin | File check-in |
dms | File DMS |
dmsportal | File DMS Portal |
avatar | Ảnh đại diện |
product | File sản phẩm |
productcategory | File danh mục sản phẩm |
cms | File CMS |
Trạng thái (Status)
| Giá trị | Key | Mô tả |
|---|---|---|
| 1 | STATUS_ENABLE | Kích hoạt |
| 3 | STATUS_PENDING | Chờ duyệt |
Định dạng file cho phép (Allowed File Types)
MOV, MP3, MP4, OGG, WEBM, 3GP, M4A, AAC, AMR, DOC, DOCX, XLS, XLSX, CSV, PDF, EPUB, ZIP, RAR, GZ, GZIP, XML, TXT, JPG, JPEG, PNG, GIF, WEBP, HEIC, PPT, PPTX, RTF, PSD, AI, EPS
SVG không được nhận (có thể chứa mã chạy trên trình duyệt). Danh sách thực tế của công ty lấy ở Giới hạn upload (allow_file_types).
Nội dung phải khớp định dạng: API đọc phần đầu nội dung file (chữ ký định dạng) và từ chối file mà nội dung không khớp phần mở rộng, ví dụ file .jpg thực chất là trang HTML, hoặc .pdf thực chất là ảnh PNG (error_file_content_mismatch). Phần mở rộng không phân biệt hoa thường.
Giới hạn
| Hạng mục | Giá trị |
|---|---|
| Dung lượng tối đa / file | Theo gói dịch vụ của công ty. Mặc định 25 MB/file, riêng ảnh 10 MB/file. Giá trị đang áp dụng: Giới hạn upload |
| Dung lượng tối đa ảnh Data URI / tải từ URL (Upload by URL) | Như giới hạn ảnh (mặc định 10 MB) |
| Số file tối đa / thư mục | 10.000 |
| Số thư mục con tối đa / thư mục | 10.000 |
| Tổng dung lượng file của công ty | Theo hạn mức gói dịch vụ Hubport: dung lượng đã dùng cộng file mới không được vượt hạn mức (vượt trả lỗi error_quota_limit_exceed) |