我正在尝试检查上传的文件是否是有效的 zip 文件,但似乎 is_zipfile 调用了 read 方法,该方法将文件字符串设置为 '',因此后续调用 read 返回一个零长度字符串。
我正在尝试复制文件以获得第二个一次性版本,但复制只是一个浅拷贝,而 deepcopy 返回错误TypeError: object.__new__(method-wrapper) is not safe, use method-wrapper.__new__()
我可以将文件字符串保存到一个变量中,然后调用 is_zipfile 方法,但这会返回 False,因为该文件现在实际上是一个空文件。
如何复制 FileUpload 对象,或者调用 is_zipefile 而不调用 read 方法,或者验证对象是 zip 文件而不在过程中破坏它?
fileToImport = REQUEST.get('sourceFile', None)
if is_zipfile(fileToImport):
file_string = fileToImport.read()
self.importDesignFromZip(file_string, replace=replace)
else:
xmlstring = fileToImport.read()
self.importDesignFromXML(xmlstring, replace=replace)
干杯迈克尔
Plone-4.1.3 Zope 2.13.10 Python 2.7.3