diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 3a885ba0..1e9a7b45 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -12,6 +12,8 @@
+
+
@@ -159,4 +161,4 @@
-
+
\ No newline at end of file
diff --git a/lib/widgets/sites/file_management_section.dart b/lib/widgets/sites/file_management_section.dart
index 7cba41c1..ae395a28 100644
--- a/lib/widgets/sites/file_management_section.dart
+++ b/lib/widgets/sites/file_management_section.dart
@@ -1,6 +1,7 @@
import 'dart:io';
import 'package:easy_localization/easy_localization.dart';
import 'package:file_picker/file_picker.dart';
+import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:gap/gap.dart';
@@ -10,6 +11,7 @@ import 'package:island/pods/site_files.dart';
import 'package:island/widgets/alert.dart';
import 'package:island/widgets/sites/file_upload_dialog.dart';
import 'package:island/widgets/sites/file_item.dart';
+import 'package:permission_handler/permission_handler.dart';
import 'package:material_symbols_icons/symbols.dart';
import 'package:path/path.dart' as p;
@@ -53,6 +55,9 @@ class FileManagementSection extends HookConsumerWidget {
PopupMenuButton(
icon: const Icon(Symbols.upload),
onSelected: (String choice) async {
+ if (!kIsWeb) {
+ await Permission.storage.request();
+ }
List files = [];
List