Отслеживание хода загрузки файла на S3 с использованием Ruby aws-sdk

Во-первых, я знаю, что в SO довольно много вопросов, похожих на этот. Я прочитал большинство, если не все из них, за последнюю неделю. Но я все еще не могу сделать это для меня.

Я разрабатываю приложение Ruby on Rails, которое позволяет пользователям загружать mp3-файлы в Amazon S3. Сама загрузка работает отлично, но индикатор выполнения значительно улучшит взаимодействие с пользователем на веб-сайте.

Я использую драгоценный камень aws-sdk, официальный от Amazon. Я просматривал всюду в его документации обратные вызовы во время процесса загрузки, но я ничего не смог найти.

Файлы загружаются по одному непосредственно на S3, поэтому нет необходимости загружать его в память. Нет необходимости загружать несколько файлов.

Я подумал, что мне может понадобиться использовать JQuery, чтобы сделать эту работу, и я в порядке с этим. Я нашел это, что выглядело очень многообещающе:https://github.com/blueimp/jQuery-File-Upload И я даже попытался следовать примеру здесь:https://github.com/ncri/s3_uploader_example

Но я просто не мог заставить это работать на меня.

Документация для aws-sdk также кратко описывает потоковую загрузку с блоком:

  obj.write do |buffer, bytes|
     # writing fewer than the requested number of bytes to the buffer
     # will cause write to stop yielding to the block
  end

Но это вряд ли полезно. Как "записать в буфер"? Я попробовал несколько интуитивно понятных опций, которые всегда приводили к таймаутам. И как бы я обновить браузер на основе буферизации?

Есть ли лучшее или простое решение для этого?

Заранее спасибо. Буду признателен за любую помощь по этому вопросу.

Ответы на вопрос(2)

Ваш ответ на вопрос