gpt4 book ai didi

ruby-on-rails - 基于 Rails 中的用户代理设置内容处置(针对 iOS 错误的解决方法)

转载 作者:行者123 更新时间:2023-11-28 22:51:55 25 4
gpt4 key购买 nike

我正在点击 this我的应用程序中的错误,移动 safari 中的 ajax 在收到 Content-Disposition:attachment

的响应后停止工作

我想继续发送 disposition:attachment 到桌面浏览器和非 iOS 移动设备,同时切换到 disposition:inline 在 iOS 上。我需要在几个不同的 Controller 操作中执行此操作。

除了将这些类型的 block 放在各处之外,还有一种优雅的方法可以做到这一点吗?

if request.env['HTTP_USER_AGENT'] =~ /iPad/
disposition = :inline
else
disposition = :attachment
end

最佳答案

只需在应用程序 Controller 中创建一个 before_filter 即可一劳永逸地设置它!

class ApplicationController < ActionController::Base
before_filter :set_content_disposition

def set_content_disposition
if request.env['HTTP_USER_AGENT'] =~ /iPad/
response.headers['Content-Disposition'] = 'inline'
elsif params[:format].in?(['pdf', 'other_format', 'other_format2'])
response.headers['Content-Disposition'] = 'attachment'
end
end
#Rest of application controller code ...
end

关于ruby-on-rails - 基于 Rails 中的用户代理设置内容处置(针对 iOS 错误的解决方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11781314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com