URL ổn định
Trình quản lý tệpCommunity Edition+File do storage engine của NocoBase quản lý được truy cập qua URL ổn định. NocoBase kiểm tra bản ghi file và quyền truy cập, sau đó chuyển hướng đến URL thực tế do storage engine tạo ra.
Định dạng
Khi cấu hình APP_PUBLIC_PATH=/nocobase, đường dẫn bắt đầu bằng /nocobase/files/. ID và phần mở rộng không thể thay đổi sau khi tạo, vì vậy URL giữ ổn định trong vòng đời của bản ghi.
Biểu hiện trong NocoBase
- Field đính kèm, file collection và HTTP API trả về URL ổn định trong
urlvàpreview - Markdown lưu URL ổn định và hỗ trợ S3, OSS, COS hoặc S3 Pro riêng tư
- Field URL đính kèm giữ nguyên URL ngoài được nhập thủ công và dùng URL ổn định cho file do NocoBase quản lý
- Chế độ xem trước thông thường dùng phiên đăng nhập và quyền file hiện tại của NocoBase
- Form công khai chỉ cấp quyền giới hạn cho file được tải lên trong phiên form hiện tại
Xem trước Office
Microsoft Office Online Viewer không thể dùng cookie NocoBase của người dùng. Khi mở xem trước, NocoBase kiểm tra quyền trước rồi cấp một URL tạm thời gắn với file. Thời hạn mặc định là 10 phút và có thể cấu hình từ 5 đến 10 phút bằng TEMPORARY_FILE_ACCESS_EXPIRES_IN.
Không lưu URL tạm thời vào field, Markdown hoặc dữ liệu nghiệp vụ, và không dùng nó làm liên kết chia sẻ.
Lưu ý
- Ổn định không có nghĩa là công khai; người nhận vẫn cần quyền truy cập
- Xóa hoặc chuyển bản ghi sang ngữ cảnh khác sẽ làm URL cũ mất hiệu lực
- Phản hồi là chuyển hướng
302; client phải theo chuyển hướng - Không lưu
302 LocationhoặctemporaryAccessToken - Reverse proxy phải chuyển tiếp route
/files/dướiAPP_PUBLIC_PATHđến NocoBase. Khi triển khai dưới subpath, hãy giữ thêm route tương thích/files/ở root. Cấu hình do NocoBase CLI tạo sẽ tự động bao gồm cả hai rule - Với các deployment mà trang truy cập API theo cơ chế cross-origin (
API_BASE_URLtrỏ sang origin khác), cần thêm origin của trang vàoCORS_ORIGIN_WHITELIST. Nếu không, cookie đăng nhập sẽ không được lưu và stable URL sẽ trả về403do thiếu thông tin xác thực. Xem Biến môi trường - Dùng
hostnamekhác nhau cho từng dịch vụ NocoBase độc lập thay vì chỉ phân biệt bằng port. Cookie của trình duyệt không được cô lập theo port; xem Triển khai môi trường production - Các sub-app trong cùng một deployment NocoBase được phân biệt theo tên ứng dụng và không cần hostname riêng. Tuy nhiên, dịch vụ độc lập ở port khác vẫn phải được cô lập bằng hostname nếu chứa main app hoặc sub-app trùng tên
Liên kết liên quan
- HTTP API — Tải lên và truy vấn file
- Xem trước file — Các định dạng được hỗ trợ
- Xem trước Office — Cấu hình Office Viewer
- Storage engine — Cấu hình lưu trữ file

