Skip to content

Wrong content_type for UploadFile #1027

Description

@elsimqoz
python 3.8
fastapi==0.60.1
pydantic==1.6.1
starlette==0.13.6
pytest==5.4.3

test:

@pytest.fixture()
def app():
    return create_app()


@pytest.fixture()
def web_client(app):
    return TestClient(app=app)


@pytest.fixture()
def file():
    f = NamedTemporaryFile(suffix='.csv')
    f.write(b'123;4\n5;67')
    f.seek(0)
    return f


def test_import(web_client, file):
    files = {'file': open(file.name, 'rb')}
    web_client.post('/import', files=files)

view:

import mimetypes

from fastapi import APIRouter, File, UploadFile


router = APIRouter()


@router.post('/import')
def import_file(file: UploadFile = File(...)):
    assert mimetypes.guess_type(file.filename)[0] == 'text/csv'  # ok
    assert file.content_type == 'text/csv'  # fail

Why file.content_type == ''?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions