ソースを参照

fixes #255 - Access to the path is denied.

Luke Pulverenti 12 年 前
コミット
88ff3e4a9b

+ 8 - 8
MediaBrowser.Server.Implementations/Providers/ProviderManager.cs

@@ -374,14 +374,6 @@ namespace MediaBrowser.Server.Implementations.Providers
 
 
                 try
                 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))
                     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);
                         await img.CopyToAsync(fs, StreamDefaults.DefaultCopyToBufferSize, cancellationToken).ConfigureAwait(false);
@@ -476,6 +468,14 @@ namespace MediaBrowser.Server.Implementations.Providers
 
 
             try
             try
             {
             {
+                // If the file already exists but is hidden, the below save will throw an UnauthorizedAccessException
+                var existingFileInfo = new FileInfo(path);
+
+                if (existingFileInfo.Exists && existingFileInfo.Attributes.HasFlag(FileAttributes.Hidden))
+                {
+                    existingFileInfo.Delete();
+                }
+
                 using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read, StreamDefaults.DefaultFileStreamBufferSize, FileOptions.Asynchronous))
                 using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read, StreamDefaults.DefaultFileStreamBufferSize, FileOptions.Asynchronous))
                 {
                 {
                     using (dataToSave)
                     using (dataToSave)