aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager/ImageSaver.cs
diff options
context:
space:
mode:
authorBaronGreenback <jimcartlidge@yahoo.co.uk>2021-04-20 18:10:38 +0100
committerGitHub <noreply@github.com>2021-04-20 18:10:38 +0100
commitf8b717e7c51a771b937312af3f1aa77e044b86ce (patch)
tree1de949627db1b7b033ea47e34ae5d7e2a8a70bd3 /MediaBrowser.Providers/Manager/ImageSaver.cs
parent7848ea148438baf8929e1c2939e6979cb84aad1a (diff)
parent5a6e60b414046c274330479f7dfb9713eea20020 (diff)
Merge branch 'master' into ProfileMatch
Diffstat (limited to 'MediaBrowser.Providers/Manager/ImageSaver.cs')
-rw-r--r--MediaBrowser.Providers/Manager/ImageSaver.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/ImageSaver.cs b/MediaBrowser.Providers/Manager/ImageSaver.cs
index 9dd87aef5..fb1d4f490 100644
--- a/MediaBrowser.Providers/Manager/ImageSaver.cs
+++ b/MediaBrowser.Providers/Manager/ImageSaver.cs
@@ -172,7 +172,9 @@ namespace MediaBrowser.Providers.Manager
SetImagePath(item, type, imageIndex, savedPaths[0]);
// Delete the current path
- if (currentImageIsLocalFile && !savedPaths.Contains(currentImagePath, StringComparer.OrdinalIgnoreCase))
+ if (currentImageIsLocalFile
+ && !savedPaths.Contains(currentImagePath, StringComparer.OrdinalIgnoreCase)
+ && (saveLocally || currentImagePath.Contains(_config.ApplicationPaths.InternalMetadataPath, StringComparison.OrdinalIgnoreCase)))
{
var currentPath = currentImagePath;
@@ -261,7 +263,8 @@ namespace MediaBrowser.Providers.Manager
_fileSystem.SetAttributes(path, false, false);
- await using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous))
+ // use FileShare.None as this bypasses dotnet bug dotnet/runtime#42790 .
+ await using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous))
{
await source.CopyToAsync(fs, cancellationToken).ConfigureAwait(false);
}