我想上传一个内存中的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 - 操作不允许”
我想这是因为我没有在第一时间正确上传文件。任何帮助表示赞赏:)
当寻找Error 1 - operation not permitted.
错误在线,看起来可能是一个Mac-os
打开zip文件的问题?
尝试打开该文件不同?