我正在使用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扩展名文件。但是当我尝试使用上面的代码下载.docx文件时,文件下载得很好但是没有打开。
我收到错误,指出该文件已损坏且无法打开。
有人可以建议如何解决这个问题吗?
答案 0 :(得分:0)
不要担心。发现了问题。 我不得不用'rb'模式打开文件
f= open(file_location, 'rb')
r= f.read()
f.close()
return r