or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

asgi.mdcore-schema.mderror-handling.mdexecution.mdexplorer.mdfederation.mdfile-uploads.mdindex.mdrelay.mdresolvers.mdtype-bindables.mdvalidation.md

file-uploads.mddocs/

0

# File Uploads

1

2

Support for GraphQL multipart file uploads following the GraphQL multipart request specification.

3

4

## Capabilities

5

6

### Upload Functions

7

8

```python { .api }

9

def combine_multipart_data(operations: dict, files_map: dict, files: dict) -> dict:

10

"""

11

Combine multipart form data for GraphQL file uploads.

12

13

Parameters:

14

- operations: GraphQL operations dict

15

- files_map: Mapping of file placeholders to form fields

16

- files: Dict of uploaded files

17

18

Returns:

19

Combined GraphQL request dict with file objects

20

"""

21

```

22

23

### Upload Scalar

24

25

```python { .api }

26

upload_scalar: ScalarType

27

```

28

29

## Usage Examples

30

31

```python

32

from ariadne import make_executable_schema, upload_scalar

33

34

type_defs = """

35

scalar Upload

36

37

type Mutation {

38

uploadFile(file: Upload!): String!

39

}

40

"""

41

42

mutation = MutationType()

43

44

@mutation.field("uploadFile")

45

def resolve_upload_file(_, info, file):

46

# file is a file-like object

47

content = file.read()

48

return f"Uploaded {len(content)} bytes"

49

50

schema = make_executable_schema(type_defs, mutation, upload_scalar)

51

```