class ActiveStorage::Blobs::ProxyController
Передаёт файлы через приложение. Это позволяет избежать перенаправления и упрощает кэширование файлов.
ВНИМАНИЕ: по умолчанию все контроллеры Active Storage доступны публично. Сгенерированные URL сложно угадать, но они являются постоянными по своей конструкции. Если для ваших файлов требуется более высокий уровень защиты, рассмотрите возможность реализации контроллеров с аутентификацией.
Открытые методы экземпляра
# 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.