estoy cargue un archivo en el servidor en Ruby on Rails¿Cómo descomprimir un archivo en Ruby on Rails?
Normalmente, se trata de un archivo de texto y guardarlo en el modelo como un campo 'archivo' en un Envío ActiveRecord con otros campos como el título de la presentación .. etc.
Sin embargo, el usuario también puede enviar un archivo zip. En este caso, el archivo zip debe descomprimirse y para cada archivo en el archivo comprimido se debe crear una nueva Presentación con los mismos campos de texto, pero el archivo actual.
¿Cómo puedo lograr esto?
He visto ejemplos de descomprimir en la red, pero la mayoría usa un directorio para descomprimir los archivos. No estoy seguro si lo necesito como en el método de creación actual de SubmissionsController, se recibe un objeto de archivo y supongo que la ruta para guardar el archivo se genera automáticamente cuando se llama al método de envío de envío. Así que pensé que tal vez debería descomprimir el archivo zip en memoria para obtener una matriz de objetos de archivo y luego crear una nueva Presentación con cada objeto de archivo pero los mismos campos y luego dejar que ActiveRecord genere las rutas de archivos para cada uno cuando los guarda en el archivo base de datos. Podría estar equivocado aquí, porque soy nuevo en Rails y Ruby.
veo, así que ¿cómo podría conseguir una gran variedad de objetos de archivo del archivo zip? – siamii
@ bizso09, Acabo de actualizar para mostrar cómo recorrer los contenidos. También hay un sencillo tutorial que lo explica aquí: http://www.markhneedham.com/blog/2008/10/02/ruby-unzipping-a-file-using-rubyzip/ –
gracias. Lo intento ahora – siamii