2011-09-24 11 views
5

chcę zapisać przesłane pliki, takie jak Avatar wizerunku użytkownika do kolekcji użytkownika w MongoDB, myślę, że kroki są:Jak zaoszczędzić przesłanych zdjęć do kolekcji MongoDB i odzyskać

  1. użytkownik przesłać zdjęcie ;
  2. użyj FileHandler (IHttpHandler, Asp.net), aby zaakceptować strumień plików na serwerze WWW;
  3. następnie otrzymuję plik binarny i ustawię go na obiekt klasy użytkownika
  4. w końcu zapisz obiekt, aby kolekcja użytkownika otrzymała dane binarne pliku.

Mam rację co do tego? Czy możesz podać mi jakąś wskazówkę?

+0

Co klient język używasz (myślę, C# lub coś, ale nie jestem pewien)? – elslooo

+0

tak, użyłem C#, wiem, że GridFs może jedno rozwiązanie, ale to tylko dla dużego sklepu z plikami i wygodne korzystanie z fragmentu lub repliki czegoś, szukam google i nie mogę znaleźć podobnej sytuacji, z którą się spotykam. –

+0

Mam dobre referencje do konwersji danych binarnych na img w przeglądarce: http://forums.asp.net/p/1505985/3574567.aspx –

Odpowiedz

4

Powinieneś po prostu użyć GridFS, aby to zrobić - nie ma powodu, dla którego powinieneś martwić się, że pliki są zbyt duże lub zbyt małe, aby miało to sens. GridFS został zaprojektowany do przechowywania plików, więc powinieneś z niego korzystać.

Zawsze można zapisać odniesienie do pliku GridFS w normalnym dokumencie MongoDB, jeśli trzeba, a następnie załadować go z GridFS, gdy trzeba z niego korzystać.

Zobacz ten wątek: MongoDB GridFs with C#, how to store files such as images?

Powiązane problemy