Fall back to calculating mime type from path when needed

Should fix #12593
This commit is contained in:
Bond_009 2025-01-26 17:38:10 +01:00
parent 0b2a59e963
commit 4eecfee29f

View File

@ -6,6 +6,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Net.Mime;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
@ -551,10 +552,16 @@ namespace MediaBrowser.Providers.Manager
var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false); var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
await using (stream.ConfigureAwait(false)) await using (stream.ConfigureAwait(false))
{ {
var mimetype = response.Content.Headers.ContentType?.MediaType;
if (mimetype is null || mimetype.Equals(MediaTypeNames.Application.Octet, StringComparison.OrdinalIgnoreCase))
{
mimetype = MimeTypes.GetMimeType(response.RequestMessage.RequestUri.GetLeftPart(UriPartial.Path));
}
await _providerManager.SaveImage( await _providerManager.SaveImage(
item, item,
stream, stream,
response.Content.Headers.ContentType?.MediaType, mimetype,
type, type,
null, null,
cancellationToken).ConfigureAwait(false); cancellationToken).ConfigureAwait(false);
@ -677,10 +684,16 @@ namespace MediaBrowser.Providers.Manager
var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false); var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
await using (stream.ConfigureAwait(false)) await using (stream.ConfigureAwait(false))
{ {
var mimetype = response.Content.Headers.ContentType?.MediaType;
if (mimetype is null || mimetype.Equals(MediaTypeNames.Application.Octet, StringComparison.OrdinalIgnoreCase))
{
mimetype = MimeTypes.GetMimeType(response.RequestMessage.RequestUri.GetLeftPart(UriPartial.Path));
}
await _providerManager.SaveImage( await _providerManager.SaveImage(
item, item,
stream, stream,
response.Content.Headers.ContentType?.MediaType, mimetype,
imageType, imageType,
null, null,
cancellationToken).ConfigureAwait(false); cancellationToken).ConfigureAwait(false);