diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index c94e99210..1b0889e4e 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -67,7 +67,8 @@ class _AudioPlayerState extends State { await widget.event.downloadAndDecryptAttachmentCached(); if (matrixFile == null) throw ('Download failed'); final tempDir = await getTemporaryDirectory(); - final fileName = widget.event.attachmentOrThumbnailMxcUrl()!.toString(); + final fileName = Uri.encodeComponent( + widget.event.attachmentOrThumbnailMxcUrl()!.toString()); final file = File('${tempDir.path}/$fileName'); await file.writeAsBytes(matrixFile.bytes); diff --git a/lib/pages/chat/events/video_player.dart b/lib/pages/chat/events/video_player.dart index 6d11af7f3..20d2957f5 100644 --- a/lib/pages/chat/events/video_player.dart +++ b/lib/pages/chat/events/video_player.dart @@ -41,7 +41,8 @@ class _EventVideoPlayerState extends State { _networkUri = html.Url.createObjectUrlFromBlob(blob); } else { final tempDir = await getTemporaryDirectory(); - final fileName = widget.event.attachmentOrThumbnailMxcUrl()!.toString(); + final fileName = Uri.encodeComponent( + widget.event.attachmentOrThumbnailMxcUrl()!.toString()); final file = File('${tempDir.path}/$fileName'); if (await file.exists() == false) { await file.writeAsBytes(videoFile.bytes);