Рубин Синатра вложение - PullRequest
1 голос
/ 17 июня 2011

У меня есть приложение sinatra, которое отправляет файл пользователю, когда он щелкает файл, я не хочу указывать расширение, но Sinatra или браузер выдает его "test.html"

attachment("test")
response.write("write test data")

как я могу дать имя файла test пользователю без его переименования в test.html

1 Ответ

1 голос
/ 17 июня 2011

Возможно, браузер что-то делает, основываясь на типе MIME, передаваемом ему Синатрой.

В наши дни расширения важны для операционных систем Windows, Mac OS и Linux, поэтому это значение полезно для пользователя и операционной системы его компьютера. Может быть, вы можете улучшить ситуацию, предоставив подсказку о фактическом типе отправляемого контента.

Документация Синатры " MIME Types " гласит:

При использовании send_file или статических файлов у вас могут быть типы пантомимы, которые Sinatra не понимает. Используйте mime_type, чтобы зарегистрировать их по расширению файла:

configure do
  mime_type :foo, 'text/foo'
end

Вы также можете использовать его с помощником content_type:

get '/' do
  content_type :foo
  "foo foo foo"
end
...