Tôi đã học được cách tốt nhất là tải tệp lên trong thư mục riêng của bạn nếu bạn không hiển thị chúng ở bên ngoài. Trong trường hợp của tôi, tôi cần lưu trữ các tệp tải lên XML và xử lý chúng. Lúc đầu, tôi đã viết XML vào thư mục công cộng nhưng điều đó sẽ kích hoạt tải lại. Sau đó, tôi đổi tên thư mục tải lên thành /public/.#uploads sẽ dừng tải lại Meteor, nhưng sau đó lại ... nó hoàn toàn bỏ qua thư mục đó trong khi xây dựng và thư mục được tải lên sẽ không tồn tại trong bản dựng (ném lỗi ENOENT) trong khi đọc).
Vì vậy, tôi đã tìm ra cách tốt nhất là đưa các tập tin trong/private/tập tin và sau đó đọc đi như sau:
result = fs.readdirSync('assets/app/files')
Tất cả mọi thứ trong thư mục riêng sẽ được chuyển đến thư mục tài sản nơi trong thời gian chạy có một thư mục APP có sẵn (bạn không thấy rằng trong cấu trúc thư mục xây dựng của bạn).
Nó giúp chỉ đơn giản đổ result = fs.readdirSync('.')
để xem bạn đang ở trong thư mục nào và xem qua cấu trúc.
*** CẬP NHẬT ***** Đặt cục bộ tệp trong thư mục private
vẫn kích hoạt sao lưu/cập nhật thiên thạch (có thể không có trong sản xuất ..) Vì vậy tôi tìm thấy một giải pháp sử dụng UploadServer chỉ để xác định thư mục upload: https://github.com/tomitrescak/meteor-uploads
Bạn đang sử dụng đường dẫn tuyệt đối ''/''. Hãy thử sử dụng một liên quan ''./Public/soundfiles/''hoặc'' public/soundfiles/'' –
Cố gắng tất cả các đường dẫn tương đối - vì một số lý do fs bắt đầu đọc từ thư mục gói của tôi. Ví dụ, nếu tôi chuyển '.' và i output' files', tôi nhận tất cả các tệp trong thư mục gói của tôi? – Warz