sqlformを使用してビデオファイルをアップロードしていますが、アップロード中にビデオファイルをエンコードしたいと思います。しかし、アップロードファイルがアップロードディレクトリに保存されていないことに気付きました。これは完全にアップロードされています。一時ファイルはありますか?どうすればアクセスできますか?ありがとうございます。
質問する
1382 次
1 に答える
1
アップロード中にファイルを処理する方法(つまり、サーバーが受信したバイトを処理する方法)はわかりませんが、ファイルが完全にアップロードされるまで待つことができれば、アップロードされたファイルにアクセスできます。 Python cgi.FieldStorageオブジェクトとしてのファイル:
def upload():
if request.vars.myfile:
video = encode_video(request.vars.myfile.file)
[do something with video]
form = SQLFORM.factory(Field('myfile', 'upload',
uploadfolder='/path/to/upload')).process()
return dict(form=form)
アップロードすると、request.vars.myfileはcgi.FieldStorageオブジェクトになり、開いているファイルオブジェクトはrequest.vars.myfile.fileになります。エンコードに時間がかかる場合は、コントローラーで処理するのではなく、タスクキューに渡すことをお勧めします。
于 2012-06-04T14:29:50.553 に答える