2016-09-22 12 views
3

受信したmultipart/form-dataファイルを検証してサーバー側のディスクに保存するSDKを開発中です。何かが好きです:すべてのPythonフレームワーク用の汎用受信ファイルアップロードHTTPリクエストオブジェクト

フィールド名、ファイル名、ファイル、およびMIMEタイプの着信http要求が必要です。

  • ジャンゴ:requestrequest.filesはファイルが含まれています。HttpRequestrequest.FILESファイル
  • フラスコが含まれてい

    問題は、Pythonのフレームワークが異なるHTTPリクエストオブジェクトを持っているということです。

  • ピラミッド:request.POSTにファイルが含まれています。

異なる値の構造を持つfiles辞書のファイル値オブジェクトと同じです。

私が必要とするのは、統一された/汎用のHTTPリクエストオブジェクトまたはこれを処理する別のソリューションです。

可能な不便なソリューション:

  • は、各フレームワークの異なる実装を持っている:私は一般的な方法でそれを処理します。
  • libを使ってmultipart/form-dataを解析する:フレームワークが既にそれを一度解析したので、実際には再解析されます。他の言語で

例:

  • PHP:$ _FILESオブジェクト
  • NodeJS:リードストリーム要求
  • ASP.NET:静的HttpContext.Current.Request
+0

@ martijn-pietersこの「広すぎる」問題で私を助けてもらえますか?あなたの質問に対する答えは、それほど広範ではない私の主な質問の詳細として追加されます。これはなぜこの質問が広すぎるのかを理解するのに役立ちます。 ありがとうございます。 –

+0

こんにちはフロリン! StackOverflowの政治へようこそ。マルジンは質問が非常によく定義されていることを好む。あなたがサンプルコードを与えてそこにコメントを入れることができるかのように "これは私がこの時点で起こりたいことです。" 'フラッシュとピラミッドの例が好きです。あなたの質問を編集し、それが再開されます。 –

答えて

1

すべてフレームワークはWSGIプロトコルhttps://www.python.org/dev/peps/pep-0333/を実装します。それは共通の基盤となるメカニズムであり、その上に独自の便利機能を組み込んでいます。いつでも生のWSGIに戻ることができます。

アップロードがプロセスされた後、ファイル保存および処理するための共通のフレームワークがあります:たとえば、デポhttp://depot.readthedocs.io/en/latest/

はあなたが生のWSGIデータを取得し、すべての枠組みの中でそれのうちhttp://webob.org/

をWebObに関する要求オブジェクトを生成することができます

また、インスピレーションのためにオートマチックを参照してくださいhttp://peterhudec.github.io/authomatic/

+0

DjangoでWebOb要求を生成する方法を理解できません。例がありますか? –

関連する問題