サーバーにファイルを作成してクライアントに提供する必要があります。そのファイルを後でサーバーから削除することをお勧めします。cherrypyでファイルを提供し、サーバーからファイルを削除するにはどうすればいいですか?
def myaction():
fs = facts.generatefacts(int(low),int(high),int(amount),op)
filename = 'test.txt'
FILE = open(filename,'w')
FILE.writelines('my\nstuff\nhere')
FILE.close()
RETURN_FILE = open(filename,'r')
return serve_fileobj(RETURN_FILE,disposition='attachment',
content_type='.txt',name=filename)
myaction.exposed = True
私は好きではないこれについて、いくつかのものがあります。ここでは
は、私は現在しようとしているものです。たとえば、ファイルを2回開く必要はないと思います。私は、ファイルオブジェクトを作成することなく、レスポンスオブジェクトに直接コンテンツを書き込む方法があると期待していますが、それは今日の私の質問ではありません。
上記のコードは私が望むものを実現しますが、ファイルは残しています。レスポンスを返す前にファイルを削除すると、(もちろん)ファイルが見つかりません。
このファイルを提供したらすぐに削除する方法はありますか?
私はJavaの世界から来ているので、私は少し混乱しています。上記を改善するための他の提案は高く評価されます。
を私は第三の最良の選択肢だと思います – varela