---
title: "file( data, [filename], [contentType] ) | Grafana k6 documentation"
description: "Create a file object that is used for building multi-part requests."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# file( data, \[filename], \[contentType] )

Create a file object that is used for building [Multipart requests (file uploads)](/docs/k6/latest/examples/data-uploads/#multipart-request-uploading-a-file).

Expand table

| Parameter   | Type                         | Description                                                                      |
|-------------|------------------------------|----------------------------------------------------------------------------------|
| data        | string / Array / ArrayBuffer | File data as string, array of numbers, or an `ArrayBuffer` object.               |
| filename    | string                       | The filename to specify for this field (or “part”) of the multipart request.     |
| contentType | string                       | The content type to specify for this field (or “part”) of the multipart request. |

### Returns

Expand table

| Type                                                         | Description        |
|--------------------------------------------------------------|--------------------|
| [FileData](/docs/k6/latest/javascript-api/k6-http/filedata/) | A FileData object. |

### Example

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import { sleep } from 'k6';
import { md5 } from 'k6/crypto';
import http from 'k6/http';

const binFile = open('/path/to/file.bin', 'b');

export default function () {
  const f = http.file(binFile, 'test.bin');
  console.log(md5(f.data, 'hex'));
  console.log(f.filename);
  console.log(f.content_type);
}
```
