1

我有一个非常奇怪的问题。我有一个事件集,用于修改我创建的具有文件字段的内容类型。将上传的文件是 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()
4

1 回答 1

0

前台模式和后台模式有不同的工作目录。

解决方案:使用绝对路径!

于 2012-05-21T18:25:55.897 回答