From 848795af32da27c9cf8b3bf41b3c1ae5fc3453a4 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Tue, 30 Nov 2021 12:23:24 -0600 Subject: [PATCH] fix artwork upload on windows (#518) * update changelog for release v0.3.1-alpha [no ci] * fix artwork upload on windows --- CHANGELOG.md | 7 ++++++- ErsatzTV.Infrastructure/Images/ImageCache.cs | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccfdb4b45..2a27295a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### Fixed +- Fix artwork upload on Windows + +## [0.3.1-alpha] - 2021-11-30 +### Fixed - Fix song page links in UI - Show song artist in playout detail - Include song artist and cover art in channel guide (xmltv) @@ -835,7 +839,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Initial release to facilitate testing outside of Docker. -[Unreleased]: https://github.com/jasongdove/ErsatzTV/compare/v0.3.0-alpha...HEAD +[Unreleased]: https://github.com/jasongdove/ErsatzTV/compare/v0.3.1-alpha...HEAD +[0.3.1-alpha]: https://github.com/jasongdove/ErsatzTV/compare/v0.3.0-alpha...v0.3.1-alpha [0.3.0-alpha]: https://github.com/jasongdove/ErsatzTV/compare/v0.2.5-alpha...v0.3.0-alpha [0.2.5-alpha]: https://github.com/jasongdove/ErsatzTV/compare/v0.2.4-alpha...v0.2.5-alpha [0.2.4-alpha]: https://github.com/jasongdove/ErsatzTV/compare/v0.2.3-alpha...v0.2.4-alpha diff --git a/ErsatzTV.Infrastructure/Images/ImageCache.cs b/ErsatzTV.Infrastructure/Images/ImageCache.cs index f6cee1cf0..86750f46a 100644 --- a/ErsatzTV.Infrastructure/Images/ImageCache.cs +++ b/ErsatzTV.Infrastructure/Images/ImageCache.cs @@ -66,8 +66,11 @@ namespace ErsatzTV.Infrastructure.Images try { string tempFileName = _tempFilePool.GetNextTempFile(TempFileCategory.CachedArtwork); - await using var fs = new FileStream(tempFileName, FileMode.OpenOrCreate); - await stream.CopyToAsync(fs); + // ReSharper disable once UseAwaitUsing + using (var fs = new FileStream(tempFileName, FileMode.OpenOrCreate, FileAccess.Write)) + { + await stream.CopyToAsync(fs); + } byte[] hash = await ComputeFileHash(tempFileName); string hex = BitConverter.ToString(hash).Replace("-", string.Empty); string subfolder = hex[..2]; @@ -100,9 +103,13 @@ namespace ErsatzTV.Infrastructure.Images private static async Task ComputeFileHash(string fileName) { using var md5 = MD5.Create(); - await using var fs = new FileStream(fileName, FileMode.Open); - fs.Position = 0; - return await md5.ComputeHashAsync(fs); + // ReSharper disable once UseAwaitUsing + // ReSharper disable once ConvertToUsingDeclaration + using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) + { + fs.Position = 0; + return await md5.ComputeHashAsync(fs); + } } public async Task> CopyArtworkToCache(string path, ArtworkKind artworkKind)