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

3

我正在使用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而不用先保存在本地?


你可以始终使用client.upload_fileobj(),但不确定是否可以在document上使用。 - ewokx
1个回答

6

是的,你可以。就像@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')


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接