---
id: storage-from-update
title: "from.update()"
slug: storage-from-update
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/dart.yml
---

import Tabs from '@theme/Tabs';
import TabsPanel from '@theme/TabsPanel';

Replaces an existing file at the specified path with a new one.


<Tabs
  defaultActiveId="dart"
  groupId="reference/dart"
  values={[{ label: 'Dart', value: 'dart' }]}>

<TabsPanel id="dart" label="dart">

```dart
final avatarFile = File('path/to/file');
final res = await supabase
  .storage
  .from('avatars')
  .update('public/avatar1.png', avatarFile, fileOptions: FileOptions(
    cacheControl: '3600',
    upsert: false
  ));
```


</TabsPanel>

</Tabs>





## Notes

- Policy permissions required:
  - `buckets` permissions: none 
  - `objects` permissions: `update` and `select`










## Examples

### Update file



<Tabs
  defaultActiveId="dart"
  groupId="reference/dart"
  values={[{ label: 'Dart', value: 'dart' }]}>

<TabsPanel id="dart" label="dart">

```dart
final avatarFile = File('path/to/file');
final res = await supabase
  .storage
  .from('avatars')
  .update('public/avatar1.png', avatarFile, fileOptions: FileOptions(
    cacheControl: '3600',
    upsert: false
  ));
```


</TabsPanel>

</Tabs>