Spec-Zone.ru › Ruby on Rails 7.1

класс ActiveStorage::Blobs::ProxyController

Родитель:
ActiveStorage::BaseController
Включенные модули:
ActiveStorage::Streaming, ActiveStorage::DisableSession

Обрабатывает проксирование файлов через приложение. Это позволяет избежать перенаправления и упрощает кэширование файлов.

ПРЕДУПРЕЖДЕНИЕ: Все контроллеры Active Storage по умолчанию доступны для публичного доступа. Сгенерированные URL-адреса сложно угадать, но по умолчанию постоянные. Если ваши файлы требуют более высокого уровня защиты, рассмотрите реализацию аутентифицированных контроллеров.

Публичные методы экземпляров

show() Показать исходный код
# File activestorage/app/controllers/active_storage/blobs/proxy_controller.rb, line 14
def show
  if request.headers["Range"].present?
    send_blob_byte_range_data @blob, request.headers["Range"]
  else
    http_cache_forever public: true do
      response.headers["Accept-Ranges"] = "bytes"
      response.headers["Content-Length"] = @blob.byte_size.to_s

      send_blob_stream @blob, disposition: params[:disposition]
    end
  end
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API