python-2.7 - 在没有表单的python flask 中上传zip文件

标签 python-2.7 flask zipfile

我正在尝试使用 python flask 请求将 zip 文件上传到我的服务器,然后使用 zipfile 模块将其解压缩。

这是我的代码:

@app.route('/uoload', methods=['POST'])
定义上传():

数据 = 请求数据
current_path = os.getcwd()
文件名=“文件.zip”
使用 open(os.path.join(upload_path, filename), 'w') 作为文件:
file.write(数据)
尝试:
使用 zipfile.ZipFile(os.path.join(current_path + filename)) 作为 zf:
zf.extractall(os.path.join(upload_path))
除了 BadZipfile 作为 e:
打印 e
返回 "", 406

但似乎上传的文件以某种方式损坏。因为当我尝试解压缩它时,会发生 BadzipFile 异常,并显示:“文件头的魔数错误”。

最佳答案

问题似乎是您正在使用 open创建一个 zip 存档。
当您使用 open ,python 将创建将数据写入文件并按照您的意愿命名。这不会使它成为一个 zip 存档。这就是它无法从文件中提取数据的原因。

如果要创建 zip 存档,请使用:

import zipfile

zf = zipfile.ZipFile('file.zip', mode='w')
zf.write('add_this_file_to_zip_archive.txt')
zf.close()

关于python-2.7 - 在没有表单的python flask 中上传zip文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006080/

相关文章:

python - Pandas 用常量字符串连接列的所有成员

python - Twilio 的语音请求参数

python - 无法使用 python zipfile 库解压缩带有密码的 .zip 文件

python - 一些复杂的列表计算和切片;如何让它发挥作用?

python - 如何在使用 Python 脚本登录时保持登录 session

python - 在 Flask Admin 中用富文本编辑器替换 textarea

angularjs - 如何下载一个zip文件

python - zipfile.BadZipFile:提取受密码保护的.zip和.zip时,提取时损坏了CRC-32错误

python - 访问从 CSV 文件读取的行时列表索引超出范围

css - 在 CSS <Style> 标签中使用 Flask 模板