Как я могу скачать большой файл из Amazon S3 через мой сервер Rails, постепенно - PullRequest
6 голосов
/ 02 августа 2011

Я хотел бы прочитать содержимое файла из S3 и передать его пользователю.У меня есть большие файлы, поэтому я не могу просто подождать, пока они будут сохранены на моем сервере, а затем отправить их в браузер, используя * x_send_file *, потому что это займет много времени.Я хотел бы отправить содержимое в браузер, пока я загружаю его на свой сервер.

Так что все это проходит через мой сервер, как какая-то потоковая загрузка.

1 Ответ

1 голос
/ 22 декабря 2013

Да, это возможно - просто загрузите удаленный файл с помощью Rails и либо временно сохраните его на своем сервере, либо отправьте прямо из буфера.Проблема в этом, конечно, в том, что вам нужно сначала получить файл, прежде чем вы сможете предоставить его пользователю.См. https://www.ruby -forum.com / topic / 98626 для обсуждения, их решение выглядит примерно так:

#environment.rb
require 'open-uri'

#controller
def index
  data = open(params[:file])
  send_data data, :filename => params[:name], ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...