Задать вопрос
loogle18
@loogle18

Как узнать размер данного файла?

Доброго времени суток!

Целый день никак не могу достучаться до размера данного файла. Понимаю, что, видимо, не правильно стучусь, вот и решил спросить у знающий людей:

Есть метод, который генерирует и возвращает линк на PDF файл, который, в свою очередь, хранится на амазоне. При переходе по ссылке открывается сам файл (не скачивается):
def self.get_pdf_url(manual, lesson = nil)
    link = DOMAIN + "/s/#{ENV['SCREENSTEPS_LIVE_SITE_ID']}/m/" + manual + '/'
    link += 'pdf'
  end


Проблема состоит в следующем:
узнать размер PDF файла без скачивания исходя из данного метода и, к примеру, вывести его сразу возле ссылки. Что-то типа такого:

= link_to model_name.get_pdf_url(some_option) do
  .name= link_to_pdf_name
  .size= pdf_size


И тут сразу возникает вполне логичный вопрос (учитывая мои не глубокие знания RoR): реально ли это вообще сделать?

Буду очень благодарен за любые разъяснения или пинки!
Заранее большое спасибо)
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
crackedmind
@crackedmind
web-developer
Делаете HEAD запрос к файлу, и читаете заголовок content-length

А вообще не ясно:
если pdf генерится на том же хосте, и заливается на амазон, то почему бы из tmp или куда там файл пишется перед закачкой, брать размер.
Ответ написан
loogle18
@loogle18 Автор вопроса
Решение:
response = http.request_head(url)
file_size = response['content-length']
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы