diff options
| author | Bond_009 <bond.009@outlook.com> | 2021-10-03 19:52:38 +0200 |
|---|---|---|
| committer | Bond_009 <bond.009@outlook.com> | 2021-10-03 19:52:38 +0200 |
| commit | 9af16fcb6c892238b734c267873b1fc137d38e66 (patch) | |
| tree | d6a954b0e41c988f55d1500e944c1fe5f2decf04 /MediaBrowser.LocalMetadata/Savers | |
| parent | 9718c0b2eeb3ff2c2d0f613bfb51db6a025b0a07 (diff) | |
Remove workaround for dotnet/runtime#42790
Diffstat (limited to 'MediaBrowser.LocalMetadata/Savers')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs index 6f66fd61b..5e7af23fc 100644 --- a/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs +++ b/MediaBrowser.LocalMetadata/Savers/BaseXmlSaver.cs @@ -113,11 +113,19 @@ namespace MediaBrowser.LocalMetadata.Savers { var directory = Path.GetDirectoryName(path) ?? throw new ArgumentException($"Provided path ({path}) is not valid.", nameof(path)); Directory.CreateDirectory(directory); + // On Windows, savint the file will fail if the file is hidden or readonly FileSystem.SetAttributes(path, false, false); - // use FileShare.None as this bypasses dotnet bug dotnet/runtime#42790 . - using (var filestream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) + var fileStreamOptions = new FileStreamOptions() + { + Mode = FileMode.Create, + Access = FileAccess.Write, + Share = FileShare.None, + PreallocationSize = stream.Length + }; + + using (var filestream = new FileStream(path, fileStreamOptions)) { stream.CopyTo(filestream); } |
