如何从 ruby 脚本重定向到 url
how to redirect to a url from ruby script
我已经使用 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}"
如有任何帮助,我们将不胜感激。
重定向是 statusCode 302,而不是 200
我找到了修复,我在 JSON 转储中添加了位置 header 并且它被重定向了
到新的来源,下面是代码:
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
希望有一天这对某人有所帮助!
我已经使用 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}"
如有任何帮助,我们将不胜感激。
重定向是 statusCode 302,而不是 200
我找到了修复,我在 JSON 转储中添加了位置 header 并且它被重定向了 到新的来源,下面是代码:
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
希望有一天这对某人有所帮助!