> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/files/browser.md).

# Browser

Browse the folders and files of a storage, upload, preview, download, share and delete files.

**Where:** Files → Browser · `/projects/<project>/files/browser`

The **Files Browser** shows what is stored in one files integration, one folder at a time. Folders are virtual: a folder is the shared start of file paths (`mugs/red-mug.png` puts `red-mug.png` in the folder `mugs`), so a folder appears with its first file and disappears with its last one. There is no **New folder** button — upload into a path instead.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-1e5ab172933e94f4ecdabaa10f817abb61dc5279%2Fbrowser-list-1.png?alt=media" alt="Files Browser of the integration Product images (Local): the folders catalog and mugs, mugs marked Public, and the file shipping-terms.txt, each row with a View link"><figcaption><p>The Browser with real rows.</p></figcaption></figure>

## Columns, search and filters

| Column          | What it shows                                                                                                                        |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Name            | A folder (folder icon) or a file (page icon). Click a folder to open it; click a file to open its panel.                             |
| Public          | **Public** when the file or folder has a public link, **Public (folder)** when a folder above it is public. Empty for a private row. |
| Size            | The file size in MB, rounded to two places (small files show `0.00 MB`).                                                             |
| *(last column)* | **View** opens the panel of the row — for a folder too, which is where you make a folder public.                                     |

* **Integrations** (above the list) picks the storage to browse. It is shown only when the project has more than one integration; the browser starts on the default one.
* The path line (**root** / `mugs`) shows where you are; click **root** or a folder name to go back up.
* There is no search, filter or sort. The round box at the start of a row selects it, but no action uses the selection today.

## What you can do here

* [Upload files](/codemash/cloud/files/browser/upload.md) — **Upload file** sends one or more files into the folder you are in.
* [Preview, download or replace a file](/codemash/cloud/files/browser/edit.md) — the file panel, **Download**, and uploading the same name again.
* [Public links](/codemash/cloud/files/browser/public-links.md) — **Make public** / **Make private** on a file or a folder.
* [Delete a file](/codemash/cloud/files/browser/delete.md) — **Delete** in the file panel.

## Do it from code

```ts
const root = await norbix.hub.files.getFolderFiles({ filesIntegrationId, path: '' });
console.log(root.folders, root.list.items.map((f) => f.path));
// [ 'catalog/', 'mugs/' ] [ 'shipping-terms.txt' ]

const mugs = await norbix.api.files.listFiles({ filesIntegrationId, path: 'mugs' });
console.log(mugs.list.items.map((f) => `${f.path} ${f.resource.sizeBytes} public=${f.isPublic}`));
// [ 'mugs/blue-mug.png 1692 public=true', 'mugs/red-mug.png 1691 public=true' ]
```

```sh
norbix api files list --filesIntegrationId int_45rkbZX4ecZBkiv6gXe5Da --path mugs
```

The client setup is on the [Files page](/codemash/cloud/files.md#use-it-from-code). API: [Get Folder Files](/codemash/api-reference/files/folder/get-folder-files.md) · [List Files](/codemash/api-reference/files/module/list-files.md)
