daily pastebin goal
20%
SHARE
TWEET

Untitled

a guest Apr 16th, 2018 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. def subida_archivo
  2.  
  3.     #Directorio temporal (si no existe lo creamos)
  4.     tmpdir   = Pathname.new("public/tmp/")
  5.     fotosdir = Pathname.new(tmpdir + "fotos" )
  6.     Dir.mkdir(tmpdir) unless tmpdir.directory?
  7.     Dir.mkdir(fotosdir) unless fotosdir.directory?
  8.  
  9.     if params[:Filedata].kind_of? StringIO
  10.       # Si es un string guardarlo en un fichero temporal
  11.       tf = Tempfile.new('foto',fotosdir)      
  12.  
  13.       # Guardarlo en el fichero
  14.       tf.open # { |f| f <<  params[:Filedata].read }
  15.       tf << params[:Filedata].read
  16.       tf.close
  17.       archivo = tf.path
  18.      
  19.     elsif params[:Filedata].kind_of? Tempfile # and params[:Filedata].respond_to?('path')
  20.       # Si es un fichero, lo copiamos a la carpeta temporal
  21.       File.move(params[:Filedata].path, fotosdir)
  22.       archivo = fotosdir + Pathname.new(params[:Filedata].path).basename   #copiarlo a public/tmp/fotos
  23.      
  24.     else
  25.       error = true    
  26.       @mensaje = params[:Filedata].class.to_s + " no es un formato valido"
  27.     end
  28.    
  29.     unless error
  30.       raise "No se ha guardado #{archivo}" unless File.exist?(archivo)
  31.         @archivo = sanitize_filename(params[:Filedata].original_filename)
  32.       else
  33.         raise "Ocurrio un error durante la conversión del archivo"
  34.       end
  35.     end      
  36.     render :action => "seleccionar_archivo"
  37.   end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top