Quản lý File
Upload by URL
Download ảnh từ URL bên ngoài và lưu vào hệ thống file
Endpoint
POST /v1/files/addimagefromurl
API này cho phép tải ảnh từ một URL bên ngoài, tự động download và lưu trữ vào hệ thống file nội bộ. Ảnh luôn được lưu với extension jpg.
Lưu ý: Trường
descriptionsẽ tự động được gán bằng giá trịurlgốc. Trườngrandomcodeđược tạo bằng MD5 hash củaurl.
Content-Type
application/json
Request Body
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
url | string | Có | URL ảnh cần download (phải truy cập được công khai) |
title | string | Có | Tên file ảnh sau khi lưu |
company_id | int | Có | ID công ty |
creator_id | int | Có | ID người tạo |
object_type | int | Có | Loại đối tượng. Xem Object Schema |
object_id | int | Không | ID đối tượng liên kết (mặc định: 0) |
status | int | Không | Trạng thái (mặc định: 1) |
origin | string | Có | Nguồn gốc file. Xem Object Schema |
Ví dụ JSON
{
"url": "https://example.com/images/product-photo.jpg",
"title": "san-pham-moi.jpg",
"company_id": 1,
"creator_id": 10,
"object_type": 30,
"origin": "product",
"status": 1
}Response Schema
HTTP 201 - Created
Trả về File Object vừa tạo.
Ví dụ Response
{
"id": 5678,
"company_id": 1,
"creator_id": 10,
"directory_id": 0,
"object_type": 30,
"object_id": 0,
"md5_hash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"file_path": "1/202603/5678-e99a18c428cb38d5f260853678922e03-1741234567.jpg",
"width": 800,
"height": 600,
"randomcode": "e99a18c428cb38d5f260853678922e03",
"title": "san-pham-moi.jpg",
"description": "https://example.com/images/product-photo.jpg",
"extension": "jpg",
"size_in_byte": 102400,
"origin": "product",
"customer_id": 0,
"status": 1,
"is_directory": 0,
"ip_address": "192.168.1.1",
"date_created": 1741234567,
"date_modified": 1741234567,
"url": "https://file.example.com/1/202603/5678-e99a18c428cb38d5f260853678922e03-1741234567.jpg"
}Lưu ý: Trường
descriptiontrong response chứa URL gốc của ảnh, vàrandomcodelà MD5 hash của URL đó.
Error Codes
| Mã lỗi | Mô tả |
|---|---|
error_company_id_required | ID công ty không được để trống |
error_company_id_notfound | ID công ty không tìm thấy |
error_user1_id_required | ID người tạo không được để trống |
error_user_id_notfound | ID người tạo không tìm thấy |
error_origin_is_required | origin không được để trống |
error_origin_is_invalid | origin không hợp lệ |
error_quota_limit_exceed | Vượt quá dung lượng quota được cấp |
error_url_is_required | url không được để trống |
error_can_not_get_image_content_from_url | Không thể tải nội dung ảnh từ URL (URL không truy cập được hoặc không chứa dữ liệu) |
error_system_directory_can_not_created | Không thể tạo thư mục hệ thống |
error_system_directory_can_not_writable | Thư mục hệ thống không có quyền ghi |
error_system_file_can_not_copy | Lỗi hệ thống khi lưu file ảnh |
error_file_record_can_not_update | Lỗi hệ thống khi cập nhật record |