2009-08-16 18 views
1

クライアント側SWFの代わりにサーバーポーリングを使用して、純粋なJavascript/Pythonのアップロードの例を探しています(rapidshare .com)Flash/SilverlightなしのAJAXアップロード(進行状況バー付き)

現在、WebサイトはWerkzeugフレームワークに含まれているスタンドアロンのwsgiサーバー上で実行されていますが、負荷が増加するとmod_wsgiに移動することがあります。

私はgp.fileuploadミドルウェアを試しましたが、動作させることはできません。彼らのウェブサイト上の例はどちらかといえばうまくいきません。

ウェブサイトは既に他のクライアントサイドのものにはGlowライブラリを使用していますが、特定のアップロード関連機能はありません。

答えて

0

アップロードデータの到着時に一時ファイル(またはメモリ内バッファ)のサイズを追跡するためのWeb側のサポートがない場合は、どうすればよいか分かりません。普及しているWebサーバの中には、これを特別にサポートしているものもありますが、一般的に実験的ですが、広くサポートされていないし、やっていることは一般的にかなり厄介です。私は最近これを研究しており、それはまったくサポートされていません。

+0

これは特別な種類のWSGIミドルウェアでは実装できません。 または、要求が完全にバッファリングされてからWSGIチェーンに移動しますか? – wizzard0

+0

基本的には後者ですが、ほとんどの場合、あなたの特定のケースでは私が知る限り近くにあります。 werkzeug.http.parse_multipart()をチェックします。ここでは、file.exhaust()の呼び出しで終了し、コメント "#入力ストリーム全体が読み込まれていることを確認します"。同様のことをするためにWebサーバー(たとえば、nginxは自分のアプリケーションにプロキシをリバースするために使用されます)を呼び出す前に入力を完全にバッファリングします。これをどうやって行うのかは簡単に想像できますが、私はまだPythonで正しいフックを持っているサーバを認識していません。 (おそらく1つしかありません...私はそれをまだ認識していません。) –

関連する問題