user1050619
user1050619

Reputation: 20856

request toolbelt upload a huge file

Im trying to upload a huge file using request toolbelt. The file is collected from a HTML form using Python Bottle framework

uploadfile = request.files.get('File Upload')

payload = MultipartEncoder({uploadfile.filename:uploadfile.file.read()})

r = requests.post(url,
                files=payload,auth=(username,password))

Error

TypeError: 'MultipartEncoder' object is not iterable

Question: 1. How to send the collected file object?

Upvotes: 2

Views: 3225

Answers (1)

erik-e
erik-e

Reputation: 3891

When using a MultipartEncoder, I send the information as the post data attribute as seen in their examples:

https://pypi.python.org/pypi/requests-toolbelt/0.3.0

Here is an example script I would use:

from requests_toolbelt import MultipartEncoder
import requests

uploadfile = open("./example_upload.dat", "r")
payload = MultipartEncoder({uploadfile.name: uploadfile})

r = requests.post(
    "http://example.com",
    data=payload,
    auth=("exampleuser","examplepassword"),
    headers={"Content-Type": payload.content_type})

Upvotes: 1

Related Questions