我正在尝试将内存中的zip文件上传到S3存储桶(以避免服务器上出现临时文件)。
这是我的代码:
import zipfile
import io
zip_bytes_io = io.BytesIO()
zip_archive = zipfile.ZipFile(zip_bytes_io, mode='a',
compression=zipfile.ZIP_DEFLATED)
zip_archive.writestr('test.txt', b'My string')
s3_client = boto3.client('s3')
zip_bytes_io.seek(0) # So that bytes are read from beginning
s3_client.upload_fileobj(zip_bytes_io, test_bucket, 'test.zip')
运行上面的代码时,它确实将文件上传到S3存储桶。但是,当我下载文件时,无法将其解压缩。我收到错误消息:“错误1-不允许操作。”
我认为这是因为我一开始没有正确上传文件。任何帮助表示赞赏:)
答案 0 :(得分:0)
在线查找Error 1 - operation not permitted.
错误时,可能是Mac-os
正在打开zip文件问题?
尝试以其他方式打开文件吗?