---
name: "mongoc_gridfs_bucket_upload_from_stream_with_id"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_gridfs_bucket_upload_from_stream_with_id"
---

# mongoc\_gridfs\_bucket\_upload\_from\_stream\_with\_id(3)

## SYNOPSIS

```
bool
mongoc_gridfs_bucket_upload_from_stream_with_id (mongoc_gridfs_bucket_t *bucket,
                                                 const bson_value_t *file_id,
                                                 const char *filename,
                                                 mongoc_stream_t *source,
                                                 const bson_t *opts,
                                                 bson_error_t *error);
```

## PARAMETERS

- •

  **bucket**: A *mongoc\_gridfs\_bucket\_t*.

- •

  **file\_id**: A *bson\_value\_t* specifying the id of the created file.

- •

  **filename**: The name of the file to create.

- •

  **source**: A *mongoc\_stream\_t* used as the source of the data to upload.

- •

  **opts**: A *bson\_t* or **NULL**.

- •

  **error**: A *bson\_error\_t* to receive any error or **NULL**.

**opts** may be NULL or a BSON document with additional command options:

- •

  **chunkSizeBytes**: An **int32** chunk size to use for this file. Overrides the **chunkSizeBytes** set on **bucket**.

- •

  **metadata**: A *bson\_t* representing metadata to include with the file.

## DESCRIPTION

Reads from the **source** stream and writes to a new file in GridFS. To have libmongoc generate an id, use *mongoc\_gridfs\_bucket\_upload\_from\_stream()*.

Reads from the **source** stream using *mongoc\_stream\_read()* until the return value indicates end-of-file. The **source** stream is not closed after calling *mongoc\_gridfs\_bucket\_upload\_from\_stream()*; call *mongoc\_stream\_close()* after.

## RETURNS

True if the operation succeeded. False otherwise and sets **error**.

**SEE ALSO:**

```
mongoc_stream_file_new() and mongoc_stream_file_new_for_path(), which can be used to create a source stream from a file.
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
