che sto caricando un file sul server in Ruby on RailsCome decomprimere un file in Ruby on Rails?
Normalmente, si tratta di un file di testo e li risparmio nel modello come un campo di 'file' in un Submission ActiveRecord con altri campi come titolo di presentazione .. ecc
Tuttavia, l'utente può anche inviare un file zip. In questo caso il file zip deve essere decompresso e per ogni file nel file zip deve essere creato un nuovo invio con gli stessi campi di testo, ma il file corrente.
Come posso realizzare questo?
ho guardato esempi decomprimere sulla rete, ma la maggior parte utilizza una directory per decomprimere i file. Non sono sicuro di averne bisogno come nel metodo di creazione corrente di SubmissionsController, viene ricevuto un oggetto file e presumo che il percorso per salvare il file sia generato automaticamente quando viene chiamato il metodo di salvataggio di invio. Stavo pensando che forse dovrei decomprimere il file zip nella memoria per ottenere un array di oggetti file e quindi creare un nuovo invio con ogni oggetto file, ma stessi campi e poi lasciare che ActiveRecord generare i percorsi dei file per ciascuno di essi quando li salva la Banca dati. Potrei sbagliarmi qui, perché sono un po 'nuovo a Rails e Ruby.
vedo, così come avrei potuto ottenere un array di oggetti di file dal file zip? – siamii
@ bizso09, ho appena aggiornato per mostrare come scorrere i contenuti. C'è anche un semplice tutorial explaning qui: http://www.markhneedham.com/blog/2008/10/02/ruby-unzipping-a-file-using-rubyzip/ –
grazie. Provo ora – siamii