diff options
author | Kenneth Reitz <me@kennethreitz.org> | 2014-09-18 10:06:54 +0900 |
---|---|---|
committer | Kenneth Reitz <me@kennethreitz.org> | 2014-09-18 10:06:54 +0900 |
commit | 082c8d0db884f8b2e3eaa09cb82fb1639fd559f9 (patch) | |
tree | 3c406d95a97c56846045c494a2525c7d4e61648c | |
parent | 9b41308b9f582dfa39db0ee57dc0b521a24538c2 (diff) | |
parent | 0924069b689c7323f47444b6a19bc037c43b49e2 (diff) | |
download | python-requests-082c8d0db884f8b2e3eaa09cb82fb1639fd559f9.tar.gz |
Merge pull request #2227 from mjul/master
Added example of how to send multiple files in one request.
-rw-r--r-- | AUTHORS.rst | 1 | ||||
-rw-r--r-- | docs/user/advanced.rst | 24 | ||||
-rw-r--r-- | docs/user/quickstart.rst | 3 |
3 files changed, 28 insertions, 0 deletions
diff --git a/AUTHORS.rst b/AUTHORS.rst index 1ab53ef8..1e084d8f 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -154,3 +154,4 @@ Patches and Suggestions - Константин Подшумок (`@podshumok <https://github.com/podshumok>`_) - Ben Bass (`@codedstructure <https://github.com/codedstructure>`_) - Jonathan Wong <evolutionace@gmail.com> (`@ContinuousFunction <https://github.com/ContinuousFunction>`_) +- Martin Jul (`@mjul <https://github.com/mjul>`_) diff --git a/docs/user/advanced.rst b/docs/user/advanced.rst index d285c181..b5758369 100644 --- a/docs/user/advanced.rst +++ b/docs/user/advanced.rst @@ -267,6 +267,30 @@ a length) for your body:: requests.post('http://some.url/chunked', data=gen()) + +POST Multiple Multipart-Encoded Files +------------------------------------- + +You can send multiple files in one request. For example, suppose you want to +upload image files to an HTML form with a multiple file field 'images': + + <input type="file" name="images" multiple="true" required="true"/> + +To do that, just set files to a list of tuples of (form_field_name, file_info): + + >>> url = 'http://httpbin.org/post' + >>> multiple_files = [('images', ('foo.png', open('foo.png', 'rb'), 'image/png')), + ('images', ('bar.png', open('bar.png', 'rb'), 'image/png'))] + >>> r = requests.post(url, files=multiple_files) + >>> r.text + { + ... + 'files': {'images': 'data:image/png;base64,iVBORw ....'} + 'Content-Type': 'multipart/form-data; boundary=3131623adb2043caaeb5538cc7aa0b3a', + ... + } + + Event Hooks ----------- diff --git a/docs/user/quickstart.rst b/docs/user/quickstart.rst index 1a4b2714..9d4e6904 100644 --- a/docs/user/quickstart.rst +++ b/docs/user/quickstart.rst @@ -270,6 +270,9 @@ support this, but there is a separate package which does - ``requests-toolbelt``. You should read `the toolbelt's documentation <https://toolbelt.rtfd.org>`_ for more details about how to use it. +For sending multiple files in one request refer to the :ref:`advanced <advanced>` +section. + Response Status Codes --------------------- |