2011-09-24 16 views
5

quiero guardar los archivos subidos imagen de avatar de un usuario a la colección de usuario en MongoDB como, supongo que los pasos son:Cómo guardar las imágenes subidas a una colección MongoDB, y recuperarlo

  1. usuario subir una imagen ;
  2. use un FileHandler (IHttpHandler, Asp.net) para aceptar la secuencia de archivos en el servidor web;
  3. luego obtengo ese archivo binario y lo configuro en un objeto de clase de usuario
  4. finalmente guardo el objeto, por lo que la colección de usuarios obtendrá los datos binarios del archivo.

¿Tengo razón sobre esto? ¿Podrías darme alguna pista?

+0

Qué idioma se está utilizando (supongo C# o algo, pero no estoy seguro) cliente? – elslooo

+0

sí, utilicé C#, sé que GridFs quizás sea una solución, pero solo para una gran tienda de archivos y es conveniente usar shard o replicar algo, busco en google y no encuentro una situación similar a la que enfrento. –

+0

Obtuve una buena referencia para convertir datos binarios a img en el navegador: http://forums.asp.net/p/1505985/3574567.aspx –

Respuesta

4

Simplemente debe usar GridFS para hacerlo: no hay ninguna razón por la que deba preocuparse porque los archivos sean demasiado grandes o demasiado pequeños para que tengan sentido. GridFS fue diseñado para almacenar archivos por lo que debe usarlo.

Siempre puede almacenar una referencia al archivo GridFS en un documento MongoDB normal si es necesario, y luego cargarlo fuera de GridFS cuando necesite usarlo.

Ver este tema: MongoDB GridFs with C#, how to store files such as images?

Cuestiones relacionadas