我正在尝试使用我的Sinatra API将图像提供给我的客户端应用程序
当我使用此路线时,它会在我的浏览器中触发文件下载提示而不是加载图像文件,我将如何提供图像?
get '/images/:project/:img' do
send_file(ProjectPhotos.serve_file(params)) # => triggers a download of file in browser
end
答案 0 :(得分:0)
需要从OpenURI库中添加open
get '/images/:project/:img' do
send_file open(ProjectPhotos.serve_file(params), type: 'image/jpeg', disposition: 'inline')
end
答案 1 :(得分:0)
要提供静态图像,您应该使用Sinatra应用程序根目录中的公用文件夹。公共文件夹中的所有文件都由Sinatra Web服务器提供,无需任何代码,并且url中省略了公共目录。
所以“public / yourimage.jpg”可从“www.yoursite.com/yourimage.jpg”获得
有关更多信息,请查看Sinatra documentation。