Explorar o código

Set Content-Disposition header to attachment for image endpoints (#12490)

Niels van Velzen hai 9 meses
pai
achega
9645955629

+ 2 - 0
Jellyfin.Api/Controllers/ImageController.cs

@@ -2089,6 +2089,8 @@ public class ImageController : BaseJellyfinApiController
         Response.Headers.Append(HeaderNames.Age, Convert.ToInt64((DateTime.UtcNow - dateImageModified).TotalSeconds).ToString(CultureInfo.InvariantCulture));
         Response.Headers.Append(HeaderNames.Vary, HeaderNames.Accept);
 
+        Response.Headers.ContentDisposition = "attachment";
+
         if (disableCaching)
         {
             Response.Headers.Append(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate");

+ 2 - 0
Jellyfin.Api/Controllers/PluginsController.cs

@@ -233,6 +233,8 @@ public class PluginsController : BaseJellyfinApiController
             return NotFound();
         }
 
+        Response.Headers.ContentDisposition = "attachment";
+
         imagePath = Path.Combine(plugin.Path, plugin.Manifest.ImagePath);
         return PhysicalFile(imagePath, MimeTypes.GetMimeType(imagePath));
     }

+ 1 - 0
Jellyfin.Api/Controllers/TrickplayController.cs

@@ -95,6 +95,7 @@ public class TrickplayController : BaseJellyfinApiController
         var path = _trickplayManager.GetTrickplayTilePath(item, width, index);
         if (System.IO.File.Exists(path))
         {
+            Response.Headers.ContentDisposition = "attachment";
             return PhysicalFile(path, MediaTypeNames.Image.Jpeg);
         }