From a0ed6ec96e60b18b3037cfe2a27d52c8a4962a34 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 10 May 2013 13:48:04 -0400 Subject: [PATCH] fixes #255 - Access to the path is denied. --- .../Providers/ProviderManager.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs index 12cc859129..1b684610d7 100644 --- a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs +++ b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs @@ -374,6 +374,14 @@ namespace MediaBrowser.Server.Implementations.Providers try { + // If the file already exists but is hidden, the below save will throw an UnauthorizedAccessException + var existingFileInfo = new FileInfo(localPath); + + if (existingFileInfo.Exists && existingFileInfo.Attributes.HasFlag(FileAttributes.Hidden)) + { + existingFileInfo.Delete(); + } + using (var fs = new FileStream(localPath, FileMode.Create, FileAccess.Write, FileShare.Read, StreamDefaults.DefaultFileStreamBufferSize, FileOptions.Asynchronous)) { await img.CopyToAsync(fs, StreamDefaults.DefaultCopyToBufferSize, cancellationToken).ConfigureAwait(false);