класс ActiveStorage::DiskController
Обслуживает файлы, хранящиеся с помощью службы диска, так же, как и службы облачных хранилищ. Это означает использование истекающих, подписанных URL-адресов, предназначенных для немедленного доступа, а не для постоянной ссылки. Всегда используйте контроллер BlobsController или собственный аутентифицированный контроллер, а не напрямую URL-адрес службы.
Публичные методы экземпляров
# File activestorage/app/controllers/active_storage/disk_controller.rb, line 10
def show
if key = decode_verified_key
serve_file disk_service.path_for(key[:key]), content_type: key[:content_type], disposition: key[:disposition]
else
head :not_found
end
rescue Errno::ENOENT
head :not_found
end # File activestorage/app/controllers/active_storage/disk_controller.rb, line 20
def update
if token = decode_verified_token
if acceptable_content?(token)
disk_service.upload token[:key], request.body, checksum: token[:checksum]
else
head :unprocessable_entity
end
else
head :not_found
end
rescue ActiveStorage::IntegrityError
head :unprocessable_entity
end
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.