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
```