2010-06-02 13 views
5

Tengo una pregunta general al respecto.Práctica recomendada para cargar muchas (2000+) imágenes en un servidor

Cuando tiene una galería, a veces las personas necesitan cargar miles de imágenes a la vez. Lo más probable es que se haga a través de un archivo .zip. ¿Cuál es la mejor manera de subir este tipo de cosas a un servidor? Muchas veces, el servidor tiene tiempos de espera, etc. que deben tenerse en cuenta. Me pregunto qué tipo de cosas debería estar buscando y cuál es la mejor manera de manejar una gran cantidad de imágenes que se cargan.

Supongo que permitiría que un usuario cargue un archivo zip (suponiendo que el tiempo de espera no le afecte), y este archivo comprimido se carga en un directorio específico, supongamos que en este caso se crea un directorio para cada usuario en el sistema. A continuación, descomprimir el directorio en el servidor y escanear la carpeta del usuario para cualquier directorio que contenga archivos .jpg o .png o .gif (etc.) y luego importarlos en una tabla en consecuencia. Estoy adivinando etiquetado por nombre de carpeta.

¿Qué tipo de problemas con el servidor podría encontrar?

Soy consciente de que puede haber muchos problemas. Incluso las ideas generales serían posibles para poder investigar más a fondo. ¡Gracias!

Además, estaría programando en Ruby on Rails, pero creo que esta pregunta se aplica a cualquier idioma.

+0

¿Qué tan grandes son las imágenes? ¿Puede darnos un límite superior en el número de imágenes? – Cam

Respuesta

2

No hay ninguna razón por la que no pueda manejar este tipo de cosas con una aplicación web.Hay un par de componentes excelentes que podrían ser útiles para esto:

  1. Uploadify (basado en jQuery/flash)
  2. plupload (de Moxiecode, la gente TinyMCE)

La razón por la que están Es útil que, en primera instancia, utilice un componente flash para gestionar las cargas, por lo que puede seleccionar grupos de archivos desde la ventana del examinador de archivos (suponiendo que nadie seleccionará miles de imágenes ...) y con plupload, arrastrar y soltar también se admite junto con más plataformas.

Una vez que tenga funcionando su interfaz, las cosas del lado del servidor solo deben poder manejar cargas individuales, asociándolas con algún tipo de cuenta de usuario, y desde allí debería ser bastante sencillo.

Con respecto a los problemas del lado del servidor, eso es realmente una gran pregunta, dependiendo de cuántas personas usarán la aplicación al mismo tiempo, el tamaño de las imágenes y cualquier proceso posterior. Recuerde que los archivos se guardan en una ubicación temporal mientras la secuencia de comandos los procesa, y se borran al finalizar o se copian en una ubicación de almacenamiento final mediante el script, por lo que el espacio/los gastos generales/los tiempos de espera podrían ser un problema.

Si las imágenes son de tamaño masivo, por ejemplo raw o tif, este tipo de cosas aún podría funcionar con cargas truncadas, pero la implementación de algún tipo de carga FTP podría ser más fácil. Es una pregunta un poco vaga, pero debería ser suficiente aquí para ponerlo en marcha;)

+0

gracias danp. Hubo muchas buenas respuestas y las investigaré. ¡Gracias a todos! – jim

1

Para esas muchas imágenes tiene que ser una aplicación seria ... lo que le da la libertad de sugerirle una pieza de software ejecutada en el cliente (algo así como yahoo mail/picassa) que se encargará de 'administrar' (interrupciones de red/soporte de reanudación, etc.) la carga de imágenes.

Por el lado del servidor, puede procesar estos uno a la vez (suponiendo que su cliente los envía de esa manera) .. lo que lo hace simple.

+1

Una opción similar sería que en lugar de sugerir un cliente, podría crear un applet de Java o algo que aún se ejecutaría en el navegador, pero que le daría un mayor control del lado del cliente. – Cam

1

echar un vistazo a http://gallery.menalto.com
tienen una docena de de métodos para la carga de imágenes en galerías. Puede elegir los que más le convengan.

1

O tiene una aplicación de cliente, o algún código Ajax que envía las imágenes una por una, lo que evita los tiempos de espera. Alternativamente si esto no está disponible para el público. FTP todavía funciona ...

1

Sugeriría una aplicación cliente (tal vez escrita en AIR o Titanium) o diciendo a sus usuarios qué es FTP.

deviantArt.com, por ejemplo, ofrece FTP como método de carga para suscriptores de pago y funciona muy bien.

Flickr en cambio tiene su propia aplicación para esto. El "Uploadr de Flickr".

Cuestiones relacionadas