MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Lưu trữ tệp vào MongoDB bằng Multer trong Mongoose

Người đàn ông bạn đang chạy trên con đường sai lầm. Tôi đã giải thích trong yêu cầu câu hỏi trước của bạn rằng Multer được sử dụng để lưu tệp trong hệ thống đĩa tệp chứ không phải trực tiếp vào cơ sở dữ liệu của bạn. Đối với điều đó, bạn phải sử dụng GRIDFS.

Đến với câu hỏi hiện tại của bạn.

app.post('/Upload', upload.single('solution') ,function (req, res, next) {
    console.log(req.file);
});

Đây là upload.single('solution') - gọi một hàm Tải lên và tên tệp được truyền là giải pháp nhưng rõ ràng là nó không có sẵn ở đây.

sử dụng loại định dạng này - tài liệu về Multer

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, '/tmp/my-uploads')
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now())
  }
})

var upload = multer({ storage: storage })

Phần Lưu trữ ở đó được sử dụng để cung cấp đường dẫn đến nơi tệp của bạn phải được lưu và phần tên tệp được sử dụng để thực hiện các thay đổi đối với tên tệp mà bạn muốn có.

Vui lòng đọc tài liệu vì điều đó sẽ hữu ích. Khi chúng tôi sử dụng các mô-đun của bên thứ ba, chúng tôi phải xác nhận thông tin mà họ đã cung cấp để chúng tôi có thể sử dụng công việc của họ một cách dễ dàng.

Hãy để tôi làm cho nó dễ dàng hơn cho bạn. Đây là mã đã sẵn sàng hoạt động.

Multer gặp lỗi kỳ lạ khi tải tệp lên qua ng-file upload

Đi kiểm tra chủ đề đó. Tôi đã đặt ra câu hỏi - vấn đề là tôi đang gửi các tệp ở định dạng mảng, như trong nhiều tệp cùng một lúc. Nếu bạn không làm điều đó, chỉ cần thay đổi phân đoạn ng-file-upload để sử dụng ví dụ demo tải lên duy nhất và trên mã nodejs phía máy chủ, hãy thay thế .array với .single và mọi thứ sẽ hoạt động theo cách bạn muốn - với điều kiện bạn muốn sử dụng hệ thống đĩa tệp để lưu trữ tệp.

Tôi nhắc lại rằng phương pháp này sẽ không giúp bạn lưu tệp trong mongodb trực tiếp.

Hãy cho tôi biết nếu bạn cần làm rõ thêm.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. truy vấn mongodb không có tên trường

  2. MongoDB $ stdDevSamp

  3. Làm cách nào để thực hiện tìm kiếm $ lookup lồng nhau trong MongoDB?

  4. MongoDB $ addToSet

  5. Chỉ trả lại các trường cụ thể cho một truy vấn trong dữ liệu mùa xuân MongoDB