Estoy trabajando en la implementación de Ajax-Upload para cargar fotos en mi aplicación Rails 3. La documentación dice:Rails 3 obtener datos de entrada sin procesar y escribirlo en el archivo tmp
For IE6-8, Opera, older versions of other browsers you get the file as you normally do with regular form-base uploads.
For browsers which upload file with progress bar, you will need to get the raw post data and write it to the file.
Entonces, ¿cómo puedo recibir los datos enviados primas en mi controlador y escribir en un archivo tmp por lo que mi controlador entonces puede procesarlo? (En mi caso el controlador está haciendo alguna manipulación de la imagen y guardar en S3.)
Alguna información adicional:
Como estoy configurado en este momento el cargo está pasando estos parámetros:
Parameters:
{"authenticity_token"=>"...", "qqfile"=>"IMG_0064.jpg"}
acción ... y el CREAR ve así:
def create
@attachment = Attachment.new
@attachment.user = current_user
@attachment.file = params[:qqfile]
if @attachment.save!
respond_to do |format|
format.js { render :text => '{"success":true}' }
end
end
end
... pero me da este error:
ActiveRecord::RecordInvalid (Validation failed: File file name must be set.):
app/controllers/attachments_controller.rb:7:in `create'
Acabo de lanzar un ejemplo de ajax upload in rails 3 + Uploadify aquí: https://github.com/apneadiving/Pic-upload---Crop-in-Ajax. Espero que pueda ayudar – apneadiving