diff --git a/httpx/_multipart.py b/httpx/_multipart.py index 1d46d96a98..446f4ad2df 100644 --- a/httpx/_multipart.py +++ b/httpx/_multipart.py @@ -122,14 +122,14 @@ def __init__(self, name: str, value: FileTypes) -> None: # requests does the opposite (it overwrites the header with the 3rd tuple element) headers["Content-Type"] = content_type - if "b" not in getattr(fileobj, "mode", "b"): - raise TypeError( - "Multipart file uploads must be opened in binary mode, not text mode." - ) if isinstance(fileobj, io.StringIO): raise TypeError( "Multipart file uploads require 'io.BytesIO', not 'io.StringIO'." ) + if isinstance(fileobj, io.TextIOBase): + raise TypeError( + "Multipart file uploads must be opened in binary mode, not text mode." + ) self.filename = filename self.file = fileobj