Нужно ли загружать изображение перед загрузкой на s3? - PullRequest
0 голосов
/ 07 мая 2019

У меня есть приложение Rails со встроенными изображениями.Я хочу загрузить туда изображения на s3 и использовать тему оттуда вместо исходного источника. Нужно ли загружать img на свой сервер, прежде чем загружать его на s3?

1 Ответ

1 голос
/ 07 мая 2019

Краткий ответ: Если вы просматриваете чей-то контент, тогда ... да, вам нужно перетащить файл вниз перед загрузкой на S3.

Длинный ответ: Если другой сайт (первоисточник) работает с вами, вы можете дать им предварительно назначенный URL-адрес, который они могут использовать для загрузки в ваше хранилище S3.

Из документов Amazon: https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadObjectPreSignedURLRubySDK.html

#Uploading an object using a presigned URL for SDK for Ruby - Version 3.

require 'aws-sdk-s3'
require 'net/http'

s3 = Aws::S3::Resource.new(region:'us-west-2')

obj = s3.bucket('BucketName').object('KeyName')
# Replace BucketName with the name of your bucket.
# Replace KeyName with the name of the object you are creating or replacing.

url = URI.parse(obj.presigned_url(:put))

body = "Hello World!"
# This is the contents of your object. In this case, it's a simple string.

Net::HTTP.start(url.host) do |http|
  http.send_request("PUT", url.request_uri, body, {
# This is required, or Net::HTTP will add a default unsigned content-type.
    "content-type" => "",
  })
end

puts obj.get.body.read
# This will print out the contents of your object to the terminal window.
...