Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 逐块编码二进制文件失败_Python_Encode_Binaryfiles - Fatal编程技术网

Python 逐块编码二进制文件失败

Python 逐块编码二进制文件失败,python,encode,binaryfiles,Python,Encode,Binaryfiles,我需要编码的Zip文件似乎太重,下面的方法给了我错误: with open("/tmp/pdf/pdffiles.zip", "rb") as f: binary_file = f.read() encoded = base64.b64encode(binary_file) self.download_zip = encoded 所以我试着将其分块,但最终下载的文件已损坏, 请大家看一下下面的代码并给我一些提示: zipfile = o

我需要编码的Zip文件似乎太重,下面的方法给了我错误:

with open("/tmp/pdf/pdffiles.zip", "rb") as f:
    binary_file = f.read()
    encoded = base64.b64encode(binary_file)

self.download_zip = encoded
所以我试着将其分块,但最终下载的文件已损坏, 请大家看一下下面的代码并给我一些提示:

zipfile = open("/tmp/pdf/pdffiles.zip", "rb")
encoded = False
while True:
    chunk = zipfile.read(8192) 
    if not chunk:
        break
    if encoded:
        encoded += base64.b64encode(chunk)
    else:   
        encoded = base64.b64encode(chunk)
zipfile.close()


self.download_zip = encoded

在对base64进行分块时,分块大小必须是6的倍数,否则数据将无法正确连接。您可以尝试像
8208这样的数字,它应该可以工作。

对base64进行分块时,分块大小必须是6的倍数,否则数据将无法正确连接。您可以尝试一个像
8208
这样的数字,它应该可以工作