我正在制作一个简单的机架应用程序,在身份验证后授予对受保护文件的访问权限。
由于文件中的数据是敏感的,它们位于应用程序的非公共文件夹中。
现在,在检查会话数据后,我只是打开文件进行读取并将内容作为响应的主体发送。
感觉很难看,并且对于较大的文件必须非常消耗资源。
示例响应:
[ "200", {"Content-Type"=> MIME::Types.type_for(file).first.to_s }, File.open( file ).read() ]
我查看了Rack::Sendfile,但据我了解,它是一个中间件,无法从应用程序本身内部发送文件。
从 Rack 应用程序发送非公共二进制文件的最有效方法是什么?