diff --git a/lib/pages/video/widgets/header_control.dart b/lib/pages/video/widgets/header_control.dart index 96abe5533..50243fd2c 100644 --- a/lib/pages/video/widgets/header_control.dart +++ b/lib/pages/video/widgets/header_control.dart @@ -1136,8 +1136,15 @@ class HeaderControlState extends State { res.headers.map, ), ); - final name = + String name = '${introController.videoDetail.value.title}-${videoDetailCtr.bvid}-${videoDetailCtr.cid.value}-${item.lanDoc}.json'; + if (Platform.isWindows) { + // Reserved characters may not be used in file names. See: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions + name = name.replaceAll( + RegExp(r'[<>:/\\|?*"]'), + '', + ); + } Utils.saveBytes2File( name: name, bytes: bytes,