---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../../modules.md) / [operations/code](../index.md) / uploadFiles

# Function: uploadFiles()

> **uploadFiles**(`instance`, `codeVersion`, `uploads`, `deletes`, `options?`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/operations/code/upload-files.ts:76](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/operations/code/upload-files.ts#L76)

Uploads and deletes files on an instance via WebDAV.

This is the core batch-upload pipeline used by both `watchCartridges` and
the VS Code extension. It:
1. Filters out non-existent upload files
2. Creates a ZIP archive of upload files
3. Uploads via WebDAV PUT and unzips on server
4. Deletes files (skipping any that were also uploaded in the same batch)

## Parameters

### instance

[`B2CInstance`](../../../instance/classes/B2CInstance.md)

B2C instance to sync to

### codeVersion

`string`

Code version to deploy to

### uploads

[`FileChange`](../interfaces/FileChange.md)[]

Files to upload

### deletes

[`FileChange`](../interfaces/FileChange.md)[]

Files to delete

### options?

[`UploadFilesOptions`](../interfaces/UploadFilesOptions.md)

Callbacks for upload/delete/error events

## Returns

`Promise`\<`void`\>
