下载base64图像数据并保存到内存中



几天来,我一直在努力了解BytesIO是如何处理我想做的事情的。所以基本上我想下载一个基于base64编码的pdf。下载后,我想保存文件,但不是在磁盘上,而是在内存中。然后我需要将该文件的路径上传到API。有人知道我是怎么做到的吗?

到目前为止,这就是我所拥有的。

def string_io_save(document_string: str, attach_id: str, file_name: str, file_type: str):
img_data = b64decode(document_string)
path = attach_id
out_stream = BytesIO()
with open('imageToSave.pdf', 'wb') as f:
f.write(img_data)
bytesio = BytesIO(f.read())
return bytesio

您可以创建像BytesIO这样的文件:BytesIO(img_data(

这种方式的功能要简单得多:

def string_io_save(document_string: str):
img_data = b64decode(document_string)
return BytesIO(img_data) 

现在,您可以像处理一个常规文件一样处理string_io_save的返回值(这对于测试非常有用(:

fp = string_io_save("base64-encoded-sting....")
foo = fp.read()
fp.close()

最新更新