我需要像这样直接从S3 URL用stripe-ruby
将身份证明文件发送到Stripe:
picture_s3_url = "https://s3-eu-west-1.amazonaws.com/bucket/uploads/foo.png"
file = File.new(open(picture_s3_url))
token = Stripe::FileUpload.create(
{
purpose: "identity_document",
file: file
},
{
stripe_account: stripe_account_id
}
)
如果可能的话,无需创建本地文件。
我该如何实现?
答案 0 :(得分:1)
您对File.new
的使用似乎有点奇怪。您应该改用IO.binwrite
:
IO.binwrite('img.jpg', open('https://picsum.photos/200').string)
token = Stripe::FileUpload.create(
{
purpose: "identity_document",
file: File.new('img.jpg')
},
{
stripe_account: stripe_account_id
}
)
可以选择使用Tempfile
来确保文件名唯一。