我在 rails 应用程序中有一个 redirect_to 它点击端点将视频发送到Zencoder以编码成几种不同的格式。
就在我获得重定向到视图的 redirect_to 之后。 发生的情况是“重定向”到视图发生“太快”,因此当视图对 Zencoder url 发出“第一个请求”时,它会抛出“404s”。 刷新时请求为 200 我愿意: 暂时延迟重定向,以免出现 404 (简单一点)
监听 Zencoder 重定向,仅在收到 Zencoder 响应后重定向到视图
相关代码如下:
def edit
@director = Director.find(params[:id])
@director_videos = Video.where(:director_id => @director.id)
if params[:bucket].present?
# process video
key = params[:key]
video = Video.new
video.director_id = @director.id
video.video_url = "https://"+Settings.S3_BUCKET + ".s3.amazonaws.com/" + URI.unescape(key)
video.save
video.process
redirect_to '/encode_progress' and return
end
@video_uploader = Video.new.video
@video = Video.new
redirect = "http://"+Settings.DOMAIN+"/directors/"[email protected]_s+"/edit"
@video_uploader.success_action_redirect = redirect
end
def function_that_sends_video
# functionality
end
def zencoder_callback
# redirect + additional stuff you may what to do is handled here
end
post '/zencoder_callback', to: 'your_controller#zencoder_callback'