1

私は非常に奇妙な問題を抱えています。ファイルフィールドを持つ、作成したコンテンツタイプを変更するためのイベントセットがあります。アップロードされるファイルはXLSファイルであり、コピーをローカルに保存したいと思います。

さて、ここが奇妙になります。フォアグラウンドモードの場合、イベントがトリガーされると、ファイルは問題なく保存されます。ただし、インスタンスを通常どおりに実行すると(./bin/instance start)、IOErrorが発生します(以下を参照)。それでも、フォアグラウンドモードかバックグラウンドモードかに関係なく、正常に機能するテスト「HelloWorld」.txtファイルを作成しようとしました。

何かご意見は?よろしくお願いします!

パトリック

SLES10サーバーでPlone4.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 に答える