diff --git a/app/src/main/java/com/futo/circles/glide/LocalFileHelper.kt b/app/src/main/java/com/futo/circles/glide/LocalFileHelper.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ff0c3588dc8bedc86d84a5c6c429cce1a96d074b
--- /dev/null
+++ b/app/src/main/java/com/futo/circles/glide/LocalFileHelper.kt
@@ -0,0 +1,25 @@
+package com.futo.circles.glide
+
+import android.content.Context
+import android.net.Uri
+import androidx.documentfile.provider.DocumentFile
+import org.matrix.android.sdk.api.extensions.orFalse
+import java.io.InputStream
+
+class LocalFileHelper(private val context: Context) {
+
+    fun isLocalFile(fileUri: String?): Boolean {
+        return fileUri
+            ?.let { Uri.parse(it) }
+            ?.let { DocumentFile.fromSingleUri(context, it) }
+            ?.exists()
+            .orFalse()
+    }
+
+    fun openInputStream(fileUri: String?): InputStream? {
+        return fileUri
+            ?.takeIf { isLocalFile(it) }
+            ?.let { Uri.parse(it) }
+            ?.let { context.contentResolver.openInputStream(it) }
+    }
+}