Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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 从zope返回docx文件-损坏文件_Python_Download_Zope - Fatal编程技术网

Python 从zope返回docx文件-损坏文件

Python 从zope返回docx文件-损坏文件,python,download,zope,Python,Download,Zope,我使用的是Zope 2.8.5版和python 2.3.5版(我知道它太旧了,但它是用于遗留项目的,近期没有迁移计划) 我的代码目前如下所示: def readFiles (file_location): self.REQUEST.RESPONSE.setHeader('Content-type','application/octet-stream') self.REQUEST.RESPONSE.setHeader('Content-Disposition', 'Content-

我使用的是Zope 2.8.5版和python 2.3.5版(我知道它太旧了,但它是用于遗留项目的,近期没有迁移计划)

我的代码目前如下所示:

def readFiles (file_location):
    self.REQUEST.RESPONSE.setHeader('Content-type','application/octet-stream')
    self.REQUEST.RESPONSE.setHeader('Content-Disposition', 'Content-Disposition: attachment; filename="'+file_name+'"')
    return open(file_location).read()
上面是一个外部方法,由python脚本调用,如下所示-

return context.readFiles(file_location)
所有这些都适用于文本文件,甚至.doc扩展名word文件。但是,当我尝试使用上述代码下载.docx文件时,这些文件下载得很好,但无法打开

我得到一个错误,该文件已损坏,无法打开


有人能建议如何解决这个问题吗?

别担心。发现了问题。 我必须以“rb”模式打开文件

f= open(file_location, 'rb')
r= f.read()
f.close()
return r