utf-8 chars in name of file in post requests
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 54.3k
- Forks
- 10.4k
- Avg merge
- 16h 43m
- Merged PRs (30d)
- 3
Description
I have some code like this:
files = {"file": ("some utf-8 chars like '№'", open("file.jpg", "rb"), "image/jpeg")}
r = requests.post("localhost", files=files)
and I receive broken jpg file (actually, 2x size of original)
Expected Result
I expect to receive file.jpg
Actual Result
But requests send to me broken file.
System Information
{
"chardet": {
"version": "3.0.4"
},
"cryptography": {
"version": "2.7"
},
"idna": {
"version": "2.8"
},
"implementation": {
"name": "CPython",
"version": "3.6.9"
},
"platform": {
"release": "10",
"system": "Windows"
},
"pyOpenSSL": {
"openssl_version": "1010103f",
"version": "19.0.0"
},
"requests": {
"version": "2.22.0"
},
"system_ssl": {
"version": "1000211f"
},
"urllib3": {
"version": "1.24.2"
},
"using_pyopenssl": true
}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided Python reproduction with requests.post and a UTF-8 filename such as “№”, then inspect the multipart upload and resulting file bytes. Compare the behavior with an ASCII filename and verify that the uploaded JPEG remains valid and matches the original file; add or update regression coverage if the relevant test location is identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100