如何将 .docx 文件保存到 S3?

How to save .docx file into S3?

我正在使用 python-docx 创建文档。我想将此文件保存到 AWS S3。目前我正在做的是,我正在创建 .docx 文件并使用 document.save('filename.docx') 将其保存在本地。然后使用 s3.meta.client.upload_file('/path/to/file/filename.docx', bucket, 'filename.docx') 将其保存到 S3 中。有什么方法可以直接将 .docx 文件保存到 AWS S3 而无需在本地保存?

是的,你可以。正如@ewong 所建议的,这是一个示例代码片段:

import boto3
from io import BytesIO
from docx import Document

s3 = boto3.client('s3')
document = Document()
# ...

with BytesIO() as fileobj:
    document.save(fileobj)
    fileobj.seek(0)
    s3.upload_fileobj(fileobj, 'your-bucket-name', 'your/s3/key')