如何从 Ruby 脚本重定向到 URL



我已经使用 rumbda Gem 将我的 ruby 代码部署为 AWS Lambda 函数,现在我想将用户重定向到在这种情况下的 URL obj.public_url .我没有使用Rails或任何其他框架。

以下是我的脚本:

params = JSON.parse ARGV[0]
url = params["queryStringParameters"].fetch("key")
puts "url is #{url}"
image = MiniMagick::Image.open(url)
image.resize "200x200"
image.format "jpg"
 s3 = Aws::S3::Resource.new(region: ENV['AWS_REGION'])
 file_name = "uploads/images/#{File.basename url}"
 obj = s3.bucket(ENV['BUCKET']).object(file_name)
 obj.upload_file(image.path)
puts "the public url is #{obj.public_url}"

任何帮助将不胜感激。

我找到了修复程序,我在 JSON 转储中添加了位置标头并被重定向到新源,下面是代码:

File.open(ENV['RUMBDA_RESULT_JSON_FILENAME'], 'w') do |file|
  file.write(JSON.dump({ statusCode: 302, body: obj.public_url, :headers => { 'Content-Type' => 'application/json', 'Location' => obj.public_url }}))
 end

希望有一天这对某人有所帮助!

重定向是状态代码 302,而不是 200

最新更新