with tutorial framework español djangoproject desde con cero applications ruby-on-rails-3 upload

ruby-on-rails-3 - framework - tutorial django



Rails 3: carga archivos en el directorio público (3)

Estoy buscando una forma sencilla de cargar un archivo (un archivo xml) en el directorio público de Rails 3. Una vez que esté allí, quiero abrirlo, analizar el contenido y eliminar el archivo después de eso.

Cada vez que busqué la carga de archivos, me encontré con Paperclip. Pero no quiero asociar el archivo con un objeto. Solo quiero subirlo. ¿Cuál es la forma más fácil de hacer esto?


Recibí un error que indica "método indefinido` cp ''para Archivo: Clase ". Se dio cuenta de que esto debería actualizarse de la siguiente manera:

Código correcto para el método file_uplad:

def file_upload tmp = params[:file_upload][:my_file].tempfile require ''ftools'' file = File.join("public", params[:file_upload][:my_file].original_filename) FileUtils.cp tmp.path, file end


a. Formar

<%= form_for :file_upload, :html => {:multipart => true} do |f| %> <%= f.file_field :my_file %> <%= f.submit "Upload" %> <% end %>

segundo. controlador

def file_upload require ''fileutils'' tmp = params[:file_upload][:my_file].tempfile file = File.join("public", params[:file_upload][:my_file].original_filename) FileUtils.cp tmp.path, file ... # YOUR PARSING JOB FileUtils.rm file end

Pero puede analizar solo el archivo temporal, por lo que no necesita copiarlo en el directorio público y se eliminará automáticamente.


img = params[:user][:photo] File.open(Rails.root.join(''public'',''uploads'',img.original_filename),''wb'') do |file| file.write(img.read)