класс ActiveStorage::Blobs::ProxyController
Обрабатывает файлы через приложение. Это позволяет избежать перенаправления и упрощает кэширование файлов.
ПРЕДУПРЕЖДЕНИЕ: Все контроллеры Active Storage по умолчанию доступны публично. Сгенерированные URL-адреса сложно угадать, но по умолчанию являются постоянными. Если вашим файлам требуется более высокий уровень защиты, рассмотрите реализацию Авторизованных контроллеров.
Публичные методы экземпляра
# File activestorage/app/controllers/active_storage/blobs/proxy_controller.rb, line 12
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.