我正在尝试使用stripe.File.create()
方法将文件从firebase数据库传输到条带。下面是我使用的代码:
file_url = storage.child("/path/to/file").get_url(token=None)
response = requests.get(file_url, stream=True)
img = Image.open(BytesIO(response.content))
stripe.File.create(
purpose="identity_document",
file=img
)
但是当我运行这段代码时,我得到:
Request req_E7fskNVgpHHlRm: Invalid hash
我相信我正在从firebase获得正确的镜像,因为我可以运行以下代码行并将镜像保存到我的本地驱动器:
img.save("test.jpg")
但是条纹似乎不喜欢我给它的文件格式。我认为这个文件必须以二进制模式提供,所以我可能只需要编辑img = Image.open(BytesIO(response.content))
行就可以获得二进制模式的文件。
任何反馈都是值得感谢的。
发布于 2019-05-22 06:20:30
我想通了。img = Image.open(BytesIO(response.content))
创建一个JpegImageFile
对象,该对象是一个图像。但是Stripe需要一个文件,类似于io.BufferedReader
对象。所以说你提供的是一个图像,而实际上它只是想要一个文件。要解决此问题,只需将img =
行更改为:
imgFile = BytesIO(response.content)
https://stackoverflow.com/questions/56230605
复制相似问题