Tài liệu này được dịch bởi AI. Đối với bất kỳ thông tin không chính xác nào, vui lòng tham khảo phiên bản tiếng Anh
Kế thừa StorageType
Tạo lớp mới và triển khai các phương thức make() và delete(). Khi cần, ghi đè các hook như getFileURL(), getFileStream(), getFileData().
Ví dụ:
beforeLoad hoặc load của plugin:Sau khi đăng ký, cấu hình lưu trữ sẽ xuất hiện trong tài nguyên storages, giống như các loại tích hợp sẵn. Cấu hình do StorageType.defaults() cung cấp có thể dùng để tự động điền biểu mẫu hoặc khởi tạo bản ghi mặc định.
Đối với các tệp đã tải lên, bạn có thể hiển thị nội dung xem trước khác nhau trên giao diện frontend dựa trên loại tệp. Trường đính kèm của trình quản lý tệp có xem trước dựa trên trình duyệt (nhúng trong iframe), hỗ trợ xem trước hầu hết định dạng (như hình ảnh, video, âm thanh và PDF) trực tiếp trong trình duyệt. Khi định dạng tệp không được trình duyệt hỗ trợ hoặc cần tương tác xem trước đặc biệt, bạn có thể mở rộng thành phần xem trước theo loại tệp.
Ví dụ, nếu bạn muốn tích hợp xem trước trực tuyến tùy chỉnh cho tệp Office, bạn có thể dùng đoạn mã sau:
Ở đây filePreviewTypes là đối tượng đầu vào do @nocobase/plugin-file-manager/client cung cấp để mở rộng xem trước tệp. Dùng phương thức add để thêm đối tượng mô tả loại tệp.
Mỗi loại tệp phải triển khai phương thức match() để kiểm tra xem loại tệp có đáp ứng yêu cầu hay không. Trong ví dụ, matchMimetype được dùng để kiểm tra thuộc tính mimetype của tệp. Nếu khớp với loại docx thì được coi là loại cần xử lý. Nếu không khớp, sẽ dùng xử lý loại tích hợp sẵn.
Thuộc tính Previewer trong đối tượng mô tả loại là thành phần dùng để xem trước. Khi loại tệp khớp, thành phần này sẽ được render trong hộp thoại xem trước. Bạn có thể trả về bất kỳ React view nào (như iframe, trình phát hoặc biểu đồ).
filePreviewTypesfilePreviewTypes là một instance toàn cục, được import từ @nocobase/plugin-file-manager/client:
filePreviewTypes.add()Đăng ký một đối tượng mô tả loại tệp mới vào registry loại tệp. Kiểu của đối tượng mô tả là FilePreviewType.
FilePreviewTypematch()Phương thức khớp định dạng tệp.
Tham số đầu vào file là đối tượng dữ liệu của tệp đã tải lên, chứa các thuộc tính liên quan để kiểm tra loại:
mimetype: mô tả mimetypeextname: phần mở rộng tệp, bao gồm "."path: đường dẫn lưu trữ tương đối của tệpurl: URL của tệpTrả về giá trị boolean cho biết có khớp hay không.
getThumbnailURLTrả về URL ảnh thu nhỏ dùng trong danh sách tệp. Nếu giá trị trả về trống, ảnh placeholder tích hợp sẽ được dùng.
PreviewerThành phần React để xem trước tệp.
Các props đầu vào:
file: đối tượng tệp hiện tại (có thể là URL dạng chuỗi hoặc đối tượng chứa url/preview)index: chỉ số của tệp trong danh sáchlist: danh sách tệp