Я работаю над реализацией Ajax-Upload для загрузки фотографий в моем приложении Rails 3. В документации указано:
Для IE6-8, Opera, более старых версий других браузеров вы получаете файл как вы обычно делают с обычной формой загрузки.
Для браузеров, которые загружают файл с индикатором выполнения, вам необходимо получить исходных данных и записать их в файл.
Итак, как я могу получить исходные данные в моем контроллере и записать его в файл tmp, чтобы мой контроллер мог его обработать? (В моем случае контроллер выполняет некоторые манипуляции с изображениями и сохраняет их на S3.)
Дополнительная информация:
Поскольку я настроен прямо сейчас, сообщение передает эти параметры:
Parameters:
{"authenticity_token"=>"...", "qqfile"=>"IMG_0064.jpg"}
... и действие CREATE выглядит так:
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
... но я получаю эту ошибку:
ActiveRecord::RecordInvalid (Validation failed: File file name must be set.):
app/controllers/attachments_controller.rb:7:in `create'