Fix return content type

This commit is contained in:
crobibero 2020-05-19 13:02:02 -06:00
parent b28dd47a0f
commit 51d54a8ca4

View File

@ -1,11 +1,13 @@
#nullable enable #nullable enable
using System; using System;
using System.Net.Mime;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Net;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -17,7 +19,7 @@ namespace Jellyfin.Api.Controllers
/// </summary> /// </summary>
[Route("Videos")] [Route("Videos")]
[Authorize] [Authorize]
public class VideoAttachmentsController : Controller public class VideoAttachmentsController : BaseJellyfinApiController
{ {
private readonly ILibraryManager _libraryManager; private readonly ILibraryManager _libraryManager;
private readonly IAttachmentExtractor _attachmentExtractor; private readonly IAttachmentExtractor _attachmentExtractor;
@ -45,7 +47,7 @@ namespace Jellyfin.Api.Controllers
/// <response code="404">Video or attachment not found.</response> /// <response code="404">Video or attachment not found.</response>
/// <returns>An <see cref="FileStreamResult"/> containing the attachment stream on success, or a <see cref="NotFoundResult"/> if the attachment could not be found.</returns> /// <returns>An <see cref="FileStreamResult"/> containing the attachment stream on success, or a <see cref="NotFoundResult"/> if the attachment could not be found.</returns>
[HttpGet("{VideoID}/{MediaSourceID}/Attachments/{Index}")] [HttpGet("{VideoID}/{MediaSourceID}/Attachments/{Index}")]
[Produces("application/octet-stream")] [Produces(MediaTypeNames.Application.Octet)]
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<ActionResult<FileStreamResult>> GetAttachment( public async Task<ActionResult<FileStreamResult>> GetAttachment(
@ -68,11 +70,9 @@ namespace Jellyfin.Api.Controllers
CancellationToken.None) CancellationToken.None)
.ConfigureAwait(false); .ConfigureAwait(false);
var contentType = "application/octet-stream"; var contentType = string.IsNullOrWhiteSpace(attachment.MimeType)
if (string.IsNullOrWhiteSpace(attachment.MimeType)) ? MediaTypeNames.Application.Octet
{ : attachment.MimeType;
contentType = attachment.MimeType;
}
return new FileStreamResult(stream, contentType); return new FileStreamResult(stream, contentType);
} }