diff options
Diffstat (limited to 'MediaBrowser.Providers/Manager/ProviderManager.cs')
| -rw-r--r-- | MediaBrowser.Providers/Manager/ProviderManager.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index e43da1350..37074eddc 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -200,11 +200,25 @@ namespace MediaBrowser.Providers.Manager // TODO: Isolate this hack into the tvh plugin if (string.IsNullOrEmpty(contentType)) { + // First, check for imagecache special case if (url.Contains("/imagecache/", StringComparison.OrdinalIgnoreCase)) { - contentType = MediaTypeNames.Image.Png; + contentType = "image/png"; + return; } - else + + // Deduce content type from file extension + var fileExtension = Path.GetExtension(url)?.ToLowerInvariant(); + contentType = fileExtension switch + { + ".jpg" or ".jpeg" => "image/jpeg", + ".png" => "image/png", + ".gif" => "image/gif", + ".webp" => "image/webp", + _ => null + }; + + if (string.IsNullOrEmpty(contentType)) { throw new HttpRequestException("Invalid image received: contentType not set.", null, response.StatusCode); } |
