diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs index 29993d675..4203f4cc1 100644 --- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs +++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs @@ -787,12 +787,24 @@ namespace MediaBrowser.Server.Implementations.Drawing Directory.CreateDirectory(parentDirectory); - using (var newImage = Image.FromStream(newImageStream.Stream, true, false)) + // Save as png + if (newImageStream.Format == Model.Drawing.ImageFormat.Png) { //And then save it in the cache using (var outputStream = _fileSystem.GetFileStream(enhancedImagePath, FileMode.Create, FileAccess.Write, FileShare.Read, false)) { - newImage.Save(System.Drawing.Imaging.ImageFormat.Png, outputStream, 100); + await newImageStream.Stream.CopyToAsync(outputStream).ConfigureAwait(false); + } + } + else + { + using (var newImage = Image.FromStream(newImageStream.Stream, true, false)) + { + //And then save it in the cache + using (var outputStream = _fileSystem.GetFileStream(enhancedImagePath, FileMode.Create, FileAccess.Write, FileShare.Read, false)) + { + newImage.Save(System.Drawing.Imaging.ImageFormat.Png, outputStream, 100); + } } } } |
