2016-09-30 8 views
-1

$ _FILESがPHPにあるように、Pythonでアップロードされたファイルを取得する一般的な方法はありますか?アップロードされたファイルを複数のPythonフレームワークに渡す一般的な方法はありますか?

Djangoでは、Flask request.files['fieldid']の中で、request.FILES['fieldid']がピラミッドrequest.POST['fieldid']にあります。これらはすべて、異なるタイプのオブジェクトを返します。しかし、3つのフレームワークすべてでそれを得る一般的な方法はありますか?

ありがとうございます!

+1

class HttpRequest(object): """A basic HTTP request.""" # The encoding used in GET/POST dicts. None means use default setting. _encoding = None _upload_handlers = [] def __init__(self): # WARNING: The 'WSGIRequest' subclass doesn't call 'super'. # Any variable assignment made here should also happen in # 'WSGIRequest.__init__()'. self.GET = QueryDict(mutable=True) self.POST = QueryDict(mutable=True) self.COOKIES = {} self.META = {} self.FILES = MultiValueDict() self.path = '' self.path_info = '' self.method = None self.resolver_match = None self._post_parse_error = False self.content_type = None self.content_params = None 

あなたはここで完全なソースコードを見ることができますか?生データには、基礎となるWSGI環境があります。これは、WSGIを使用するすべてがその環境を使用するという意味での生のPHPと同等です。 – davidism

+0

@davidismアップロードされたファイルを格納するライブラリを作成しています。すべてのPythonフレームワークに対して汎用的にしたいと考えています。すべてのフレームワークでWSGIから環境を取得するにはどうすればよいですか? – st3fan

+0

これは一般に処理される方法は、ライブラリを作成し、サポートしているフレームワークの拡張を書き込むことです。この場合、WSGIミドルウェアは必要ありません。マルチパート本体を自分で解析する必要があり、フレームワークがダウンストリームでもそれを読み取れるようにデータを削除しないようにする必要があるからです。 – davidism

答えて

0

私は答えがノーだと思います!たとえば、djangoでは、FILES属性を持つHttpRequestクラスは辞書であり、フレームワークの他の部分によって作成されます。ですから、このオブジェクトはdjangoによって作成され、作成され、オブジェクトクラスから継承されるだけなので、それは単なる辞書です。あなたがこれを必要とするのはなぜ
https://docs.djangoproject.com/en/1.10/_modules/django/http/request/#HttpRequest

関連する問題