Điều này rất khả thi và theo cách an toàn bằng cách sử dụng các gói cfs:standard-packages
và cfs:filesystem
. Thành thật mà nói, tôi không đi sâu vào câu hỏi của bạn.
Đó là một gói đẹp. Bạn có thể đọc chuyên sâu về các gói trên tại đây .
MÃ ĐỂ TẠO BỘ SƯU TẬP HỆ THỐNG
var imageStore = new FS.Store.FileSystem("YOUR_COLLECTION_NAME");
YOUR_COLLECTION_NAME = new FS.Collection("YOUR_COLLECTION_NAME", {
stores: [imageStore]
});
Nói ngắn gọn. Các tệp sẽ được lưu tại anh chị em thành bundle/
vị trí tại cfs/files/YOUR_COLLECTION_NAME
. Thông tin về tệp sẽ được lưu trong bộ sưu tập cfs.YOUR_COLLECTION_NAME.filerecord
và vị trí tạm thời sẽ được sử dụng cho mục đích nội bộ với bộ sưu tập cfs._tempstore.chunks
như sau.
Nếu bạn lưu bất kỳ tệp nào bằng cách sử dụng gói trên. Siêu dữ liệu sẽ được lưu trong cfs.YOUR_COLLECTION_NAME.filerecord
như bên dưới
{
"_id" : "TBmxbsL2cMCM2tEc7",
"original" : {
"name" : "photo.jpg",
"updatedAt" : ISODate("2017-07-06T12:54:50.115Z"),
"size" : 2261,
"type" : "image/jpeg"
},
"uploadedAt" : ISODate("2017-07-08T06:58:32.433Z"),
"copies" : {
"YOUR_COLLECTION_NAME" : {
"name" : "photo.jpg",
"type" : "image/jpeg",
"size" : 2261,
"key" : "YOUR_COLLECTION_NAME-TBmxbsL2cMCM2tEc7-photo.jpg",
"updatedAt" : ISODate("2017-07-08T06:58:32.475Z"),
"createdAt" : ISODate("2017-07-08T06:58:32.475Z")
}
}
}
ở phía Máy khách, bạn có thể lấy liên kết đến tệp tài liệu bằng cách sử dụng
YOUR_COLLECTION_NAME.find({"_id" : "TBmxbsL2cMCM2tEc7"}).url();
Url này là liên kết an toàn dựa trên mã thông báo đến tệp thay vì vị trí trực tiếp đến máy chủ của bạn. Bạn có thể đặt cài đặt cho phép / từ chối bổ sung để tải xuống nội dung giống như các bộ sưu tập bình thường. Hy vọng điều này sẽ hữu ích!