Store Builder

Thư viện ảnh

Tải tệp lên, sắp vào thư mục, hiểu vì sao bỏ vào thùng rác không giải phóng dung lượng — và cách hệ thống biết một tệp đang được dùng ở đâu trước khi cho bạn xoá hẳn.

Thư viện phương tiện (en: Media library) là kho tệp dùng chung của một site: mọi ảnh, video và phông chữ bạn đã tải lên. Bạn mở nó từ bất cứ chỗ nào cần chọn tệp — trong trình chỉnh sửa, biểu mẫu sản phẩm, bài viết — hoặc bấm Xem toàn bộ thư viện để mở đầy đủ.

Tải tệp lên

Kéo tệp thả vào là được: "Thả tệp vào đây để tải lên." Nhiều tệp một lúc cũng được, thanh tiến độ đếm Đang tải 3/8…, và tệp rơi vào thư mục bạn đang đứng.

Bốn loại, lọc được trên thanh trên cùng: Hình ảnh, Video, Phông chữ (woff2, woff, ttf, otf), Khác. Giới hạn 25 MiB mỗi tệp.

Một ngoại lệ: video bài giảng và tài liệu của ứng dụng Khoá học không đi qua thư viện này và không bị giới hạn 25 MiB — chúng nằm trên một dịch vụ lưu trữ ngoài, không hiện ở đây và không tính vào dung lượng. Xem Ứng dụng Khoá học.

Một lô tải lên hỏng giữa chừng thì thông báo nói đã tải được bao nhiêu, tệp nào hỏng và vì sao — không im lặng bỏ qua phần còn lại.

Dung lượng — phần dễ gây bất ngờ nhất

Thanh dung lượng hiện Đã dùng {x} trên {y}, kèm một dòng đáng đọc kỹ:

"Bao gồm cả tệp trong thùng rác — chỉ xoá vĩnh viễn mới giải phóng dung lượng."

Bỏ tệp vào thùng rác không giải phóng dung lượng. Bạn xoá 500 MB ảnh, thanh không nhúc nhích, và tưởng có gì hỏng. Không hỏng — chúng đang nằm trong thùng rác.

Khi hết chỗ, thông báo nói đủ ba con số: "Không đủ dung lượng: tệp này nặng {incoming}, trong khi đã dùng {used} trên {limit}." Từ chối xảy ra trước khi có gì được lưu.

Thùng rác, và xoá vĩnh viễn

Xoá một tệp là chuyển vào thùng rác — khôi phục được. Tab Thùng rác liệt kê chúng, mỗi tệp có Khôi phục và Xoá vĩnh viễn.

Xoá vĩnh viễn mới thật sự huỷ tệp, và trước khi làm, hộp thoại kiểm tra tệp đang được dùng ở đâu — sản phẩm, phân loại, danh mục, bài viết, chuyên mục, trang nháp và trang đã xuất bản, phần dùng chung, ngăn giỏ hàng, section mẫu, mẫu kiểu, phản hồi biểu mẫu — và liệt kê từng chỗ dưới dòng Đang dùng ở N nơi. Từ đó có ba kết cục:

  • Không nơi nào dùng → xoá.
  • Đang dùng ở sản phẩm, bài viết, danh mục… → xác nhận thì hệ thống gỡ ảnh khỏi những chỗ đó trước, rồi mới xoá tệp. Gỡ được một phần mà kẹt thì dừng lại và nói rõ: "Tệp CHƯA bị xoá."
  • Đang nằm trên một trang (nháp hay đã xuất bản, phần dùng chung, ngăn giỏ) → từ chối: "Hãy mở trang, gỡ ảnh ở đó rồi mới xoá tệp." Trang là thứ bạn thiết kế, nên không ai tự tay sửa bố cục của bạn từ thư viện.

Không kiểm tra được thì cũng từ chối — "xoá có thể làm hỏng ảnh trên trang". "Không biết" không được phép là con đường rẻ hơn "đang dùng".

Cũng vì vậy mà API công khai không có lệnh xoá vĩnh viễn: DELETE /api/v1/media chỉ bỏ vào thùng rác. Lệnh huỷ hẳn ở lại trong app, sau bước kiểm tra ở trên.

Thư mục

Sắp tệp vào Thư mục. Có sẵn vài thư mục theo mục đích — Sản phẩm, Blog, Danh mục, Danh mục blog — cộng Tất cả tệp và Chưa phân loại. Thư mục mới để tạo thêm. Xoá một thư mục không xoá tệp trong đó.

Tìm một tệp

Ô tìm kiếm lọc theo tên. Thêm bộ lọc theo loại và Sắp xếp: mới nhất, cũ nhất, tên A→Z, lớn nhất, nhỏ nhất. Lớn nhất là cách nhanh nhất tìm ra thứ đang ăn hết dung lượng.

Chi tiết một tệp

Xem chi tiết hiện Định dạng, Dung lượng, Kích thước, Ngày tải lên, Thư mục, Đường dẫn (kèm Sao chép đường dẫn, Mở tệp gốc) và Đang dùng ở — cùng danh sách nơi dùng mà hộp thoại xoá đọc.

Đường dẫn là một URL đầy đủ, và là trường duy nhất ở đây bạn không nên chép cứng vào chỗ khác. Phần đầu URL là cấu hình lưu trữ ghép lúc đọc — chính điều đó cho phép đổi CDN mà không sửa dữ liệu. Đọc lại khi cần.

Khi lưu sản phẩm, đôi khi hệ thống hỏi về tệp thừa

Gỡ ảnh khỏi một sản phẩm rồi lưu, nếu những ảnh đó không còn được dùng ở đâu nữa, hộp thoại hỏi "Xoá tệp không còn dùng?" kèm tên từng tệp. Nó hỏi chứ không tự làm.

Qua API

GET, POST (multipart), PATCH, DELETE trên /api/v1/media, cộng POST /api/v1/media/{id}/restore và /api/v1/media-folders. Lệnh tải lên là request duy nhất trên bề mặt đó không phải JSON. Xem API công khai.

Cập nhật 26/9/2026