io.UnsupportedOperation:尝试将 pdf 从 .zip 写入 MinIO 时出现 fileno

问题描述 投票:0回答:1

我正在开发一个 Flask 应用程序,用户上传一个填充有 .pdf 文件的 .zip 文件,我想将其内容上传到 minIO。一直在尝试使用

put_object
函数,但我在尝试获取大小时遇到问题。

尝试复制这个问题,但我在使用

fileno
方法时遇到麻烦:

file = form.file.data
file.seek(0)
zipfile = ZipFile(BytesIO(file.read()))
files = [zipfile.open(file_name) for file_name in zipfile.namelist()]

client = Minio(host_minio, access_key=access, secret_key=secret, secure=False)

destination_file = f'folder/file.pdf'

specific_file = files[0]

specific_file.seek(0)

file_bytes = BytesIO(specific_file.read())

size = os.fstat(file_bytes.fileno()).st_size


client .put_object(
            bucket_name, destination_file, file_bytes , size
        )

在这里,

size
给了我以下错误:

 io.UnsupportedOperation: fileno

这是正确的做法吗?我缺少什么?谢谢!

python io minio
1个回答
0
投票

经过一番修改后找到了我的答案。这有效:

client.put_object(
    bucket, destination_file, file_bytes, len(file_bytes.getvalue())
)
© www.soinside.com 2019 - 2024. All rights reserved.