bSr
bSr

Reputation: 1526

upload binary file using python requests

I am uploading a file using requests library below is the code:

files = {'file': open(full_file_name, 'rb')}
headers = {"content-type": 'application/x-www-form-urlencoded'}
final_resp = requests.put(loc, files=files, headers=headers)

The problem is some extra contents have been added to the file's start and end point.

The contents added to the start point is:

--b16010ae7646a031a5adc64ac0661e72
Content-Disposition: form-data; name="file"; filename="1016064585-65769268.csv"

The contents added to the endpoint is:

--b16010ae7646a031a5adc64ac0661e72--

But when the same file is uploaded through the postman these problems are not arising.

here is the screenshot of the postman enter image description here.

The header of the postman is:

application/x-www-form-urlencoded

Upvotes: 10

Views: 20201

Answers (1)

shutup
shutup

Reputation: 261

it may because you use multipart/form to upload file.try use data like code below

data = open(localFilePath, 'rb').read()
headers = {
    "Content-Type":"application/binary",
}
upload = requests.put(uploadUrl,data=data,headers=headers)

Upvotes: 23

Related Questions