我在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/"+@director.id.to_s+"/edit"
@video_uploader.success_action_redirect = redirect
end