我有一个非常奇怪的问题。我有一个事件集用于修改我创建的具有文件字段的内容类型。要上传的文件是XLS文件,我想在本地保存副本。
现在,这里变得奇怪了。当我处于前台模式时,触发事件时文件保存没有任何问题。但是,当我正常运行实例(./bin/instance start)时,我得到一个IOError(见下文)。然而,无论我是处于前台还是后台模式,我都试图创建一个测试'Hello World'.txt文件,该文件运行正常。
有什么想法?提前多多欣赏!
帕特里克
我在SLES 10服务器上使用Plone 4.0.1。
错误:
...
Module patrick.cm.content.events, line 95, in q_changed
IOError: [Errno 2] No such file or directory: u'process/test-file.xls'
代码:
def q_changed(obj, event):
if obj.xls_file.getSize() > 0:
filename = getattr(obj.xls_file, 'filename')
save_questionnaire = open('process/%s' % (filename), 'wb') #Line 95
q_data = str(obj.xls_file.data)
save_questionnaire.write(q_data)
save_questionnaire.close()
此代码有效:
def q_changed(obj, event):
save_questionnaire = open('process/test.txt', 'wb')
save_questionnaire.write('Hello World!')
save_questionnaire.close()
答案 0 :(得分:0)
前景模式和后台模式具有不同的工作目录。
解决方案:使用绝对路径!