Forum: Italian Ruby user group caricamento file

Posted by Giovanni Messina (jgame)
on 2010-01-11 13:15
in un'applicazione caricando file xls o ods usando form con un
file_field a seconda delle dimensioni del file ottengo o

ActionController::UploadedStringIO

o

ActionController::UploadedTempfile

Ora vorrei forzare il sistema ad usare sempre il secondo in quanto nel
controller mi è più comodo avere a disposizione un Tempfile in
particolare per riuscire ad avere un ole2 valida

come si può fare?

qui sotto il codice del form

<% form_for :dump,
            :url=>{:controller=>"students", :action=>"carica"},
            :html => { :multipart => true } do |f| -%>
  <label for='dump_file'>
    Seleziona il file con l'elenco studenti:
  </label>
  <p>
    <%= f.file_field :file -%>
  <p>
    <%= submit_tag 'INVIA' -%>
<% end -%>

nel controller accedo ai dati che vorrei fossero sempre un file con
f = (params[:dump][:file])
Posted by Giovanni Messina (jgame)
on 2010-01-12 13:10
risolto aggiungendo nel controller

   if f.is_a?(ActionController::UploadedStringIO)
     temp_file = Tempfile.new("some_temp_name")

     temp_file.write f.read
     f = temp_file
     temp_file.close
   end

non che la cosa mi soddisfi, ma funziona

sarei curioso di sapere come aggiungerlo di default  per file_field
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.