Spec-Zone.ru › Ruby on Rails 8.1

class 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