2011-09-24 35 views
5

Tôi muốn lưu các tập tin được tải lên như hình ảnh avatar của người dùng vào bộ sưu tập người dùng trong MongoDB, tôi đoán các bước là:Làm thế nào để lưu hình ảnh được tải lên một bộ sưu tập MongoDB, và lấy nó

  1. người dùng tải lên một hình ảnh ;
  2. sử dụng FileHandler (IHttpHandler, Asp.net) để chấp nhận luồng tệp trong máy chủ web;
  3. sau đó tôi nhận tệp nhị phân đó và đặt thành đối tượng Lớp người dùng
  4. cuối cùng lưu đối tượng, do đó, bộ sưu tập người dùng sẽ nhận được dữ liệu tệp nhị phân.

Tôi có đúng về điều này không? Bạn có thể cho tôi bất kỳ đầu mối nào không?

+0

client gì ngôn ngữ mà bạn đang sử dụng (tôi đoán C# hoặc một cái gì đó, nhưng tôi không chắc chắn)? – elslooo

+0

vâng, tôi đã sử dụng C#, tôi biết GridFs có thể là một giải pháp, nhưng nó chỉ dành cho lưu trữ tệp lớn và thuận tiện để sử dụng phân đoạn hoặc bản sao, tôi tìm kiếm trên google và không thể tìm thấy tình huống tương tự. –

+0

Tôi có một tài liệu tham khảo tốt để chuyển đổi dữ liệu nhị phân thành img trong trình duyệt: http://forums.asp.net/p/1505985/3574567.aspx –

Trả lời

4

Bạn chỉ nên sử dụng GridFS để làm điều đó - không có lý do gì khiến bạn phải lo lắng về các tệp quá lớn hoặc quá nhỏ để có ý nghĩa. GridFS được thiết kế để lưu trữ các tập tin, do đó bạn nên sử dụng nó.

Bạn luôn có thể lưu trữ tham chiếu đến tệp GridFS trong tài liệu MongoDB bình thường nếu cần, sau đó tải nó ra khỏi GridFS khi bạn cần sử dụng nó.

Xem chủ đề này: MongoDB GridFs with C#, how to store files such as images?

Các vấn đề liên quan