Python:Cherry Py返回ZIP文件。如何返回cherrypy中的zip文件作为下载

时间:2019-02-28 14:47:42

标签: python python-2.7 file cherrypy

这是我的示例代码: 问题是它返回了可下载的zip文件,但文件已损坏/有错误。我通过在文件夹中手动打开文件来检查文件,它可以工作。我认为这里的问题是将zip文件从后端传递到cherrypy。或者如何将zip文件转换为文件类型?

cherrypy.response.headers['Content-Type'] = "'Content-Type', 'application/zip'"
cherrypy.response.headers['Content-Disposition'] = ('attachment; filename=' + 
    name.format(fname=name))
export_file = str(response["message_data"]["file"])

return export_file

创建ZIP文件

zipf = zipfile.ZipFile(full_directory + '.zip', 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(full_directory + '/'):
    for file in files:
        zipf.write(os.path.join(root, file), arcname=file)
zipf.close()

file_upload = open(full_directory + '.zip', "r")

将ZIP文件传递到CherryPy:

response_json["message_data"]["file"] = file_upload
response_json["message_data"]["name"] = file_name

0 个答案:

没有答案