Как служить статическим файлам через Стойку?

Я в настоящее время разрабатываю Основанное на стойке приложение и хочу перенаправить все запросы файла (например, filename.filetype) к указанной папке.

Стойка:: Статичный только поддерживает запросы файла на специальную папку (например, "/медиа").

Я должен записать собственное промежуточное программное обеспечение Стойки, или out-of-the-box решение существует?

Наилучшие пожелания

38
задан brainfck 15 February 2010 в 09:54
поделиться

2 ответа

Чтобы перенаправить каждый запрос по определенному пути, используйте Rack :: File (по какой-то причине этот класс отсутствует в последней документации, но он все еще является частью последней версии Rack ):

run Rack::File.new("/my/path")

Чтобы перенаправить каждый запрос и добавить HTML-индекс всех файлов в целевой каталог, используйте Rack :: Directory :

run Rack::Directory.new("/my/path")

Чтобы объединить несколько каталогов или обслужить только некоторые запросы из целевой каталог:

map "/url/prefix" do
  run Rack::File.new("/my/path")
end

# More calls to map if necessary...

# All other requests.
run MyApp.new
38
ответ дан 27 November 2019 в 03:42
поделиться

Возможно, вы сможете использовать Rack::File напрямую. Вот config.ru файл, который вы можете подключить к rackup, чтобы увидеть, как он работает:

app = proc do |env|
  Rack::File.new('foo/bar').call(env)
end

run app
10
ответ дан 27 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: