要使用sinatra返回文件,我一直在使用它:
get '/:name' do
x = File.open('c:/mywebsite/' + params[:name],'r')
end
传入的网址为“http://localserver:4567/myfile.html。
它有效,但它发生在我身上必须有更好的方法,但我找不到sinatra网站上的首选机制。
答案 0 :(得分:8)
将静态文件放在应用程序目录中的public /文件夹中
静态文件
静态文件来自 ./public目录。你可以指定一个 通过设置不同的位置 :公共选项:
set:public,File.dirname(
__FILE__
) +'/ static'请注意,公共目录名称是 不包含在URL中。一份文件 ./public/css/style.css已制作完成 可用作 example.com/css/style.css。
答案 1 :(得分:2)
这是一个静态文件吗?如果是这样,我会把它放在应用程序的public
目录中。您可以阅读有关静态文件here的更多信息(在页面下方四分之一处滚动以查找标记为“静态文件”的部分)。