Как отслеживать загрузку файлов без использования Flash?

#ruby-on-rails #ajax #file-upload

#ruby-on-rails #ajax #загрузка файла

Вопрос:

Я искал способ отслеживать информацию о загрузке файлов без использования flash, но, вероятно, с использованием ajax, я полагаю. Я хочу отслеживать скорость и процент завершенной загрузки файлов.

Знаете ли вы какой-либо ресурс, который описывает, как это сделать, или чему я должен следовать, чтобы это сделать?

Ответ №1:

В мире до HTML5, я полагаю, для этого требуется поддержка веб-сервера. В прошлом я успешно использовал этот модуль Apache:

http://piotrsarnacki.com/2008/06/18/upload-progress-bar-with-mod_passenger-and-apache/

Комментарии:

1. ну, это наверняка можно сделать с помощью ajax, я просто не знаю, как это делается в Rails. Но этот источник очень хорош, спасибо 🙂

Ответ №2:

Единственный способ без flash — это делать это на сервере. Суть в том:

  • Запустите загрузку файла
  • Откройте потоковое соединение с сервером
  • Попросите сервер прочитать заголовки post, чтобы сообщить вам, какого размера будет файл
  • Попросите сервер повторно проверить размер файла (обычно в / tmp), чтобы увидеть, насколько он полон
  • передавать % done обратно клиенту

Я делал это раньше на других языках, но никогда на ruby, поэтому не уверен в проекте, который это делал, извините.

Комментарии:

1. Спасибо, но я это уже знаю. Вот почему я упоминаю ajax. Я ищу, как это сделать.