#31293: MultiPartParser support double quotes
------------------------------------------------+------------------------
Reporter: 007 | Owner: nobody
Type: Cleanup/optimization | Status: new
Component: HTTP handling | Version: master
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
------------------------------------------------+------------------------
Although the rfc2231 document does not indicate that values can be wrapped
in double quotes. However, some third-party tools wrap the value in double
quotation marks when wrapping HTTP requests (such as the filename of the
file uploaded by PostmanCanary). This results in double quotes for the
filename at the end of Django parsing.
Postman request body:
{{{
----------------------------677822685948106391633425
Content-Disposition: form-data; name="file"; filename="测试.txt";
filename*="UTF-8''%E6%B5%8B%E8%AF%95.txt"
Content-Type: text/plain
test
----------------------------677822685948106391633425--
}}}
django got filename is `测试.txt"` not `测试.txt`
This is not a bug of Django. But I suggest Django do some compatibility
processing.
CPython is also compatible with this situation.
[https://hg.python.org/cpython/file/default/Lib/test/test_email/test_headerregistry.py]
[https://github.com/django/django/pull/12485]
--
Ticket URL: <https://code.djangoproject.com/ticket/31293>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/049.3ad524c8b361a77897d08813529726aa%40djangoproject.com.