From 10880e96999d1f26d0580f38a18c1ba07a30cd8d Mon Sep 17 00:00:00 2001 From: Kieran Date: Mon, 27 May 2024 11:07:23 -0700 Subject: [PATCH] [Enhancement] Added link to local stream on media item show page (#265) * Adds link for opening local stream * Put conditional on correct element --- .../controllers/media_items/media_item_controller.ex | 5 ++++- .../media_items/media_item_html/show.html.heex | 12 ++++++++++-- .../controllers/media_item_controller_test.exs | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/pinchflat_web/controllers/media_items/media_item_controller.ex b/lib/pinchflat_web/controllers/media_items/media_item_controller.ex index 278ef23..a560020 100644 --- a/lib/pinchflat_web/controllers/media_items/media_item_controller.ex +++ b/lib/pinchflat_web/controllers/media_items/media_item_controller.ex @@ -85,6 +85,7 @@ defmodule PinchflatWeb.MediaItems.MediaItemController do |> put_resp_header("accept-ranges", "bytes") |> put_resp_header("content-range", "bytes #{start_pos}-#{end_pos}/#{file_size}") |> put_resp_header("content-length", to_string(length)) + |> put_resp_header("content-disposition", "inline; filename=\"#{media_item.title}\"") |> send_file(206, media_item.media_filepath, start_pos, length) {:error, :invalid_range} -> @@ -92,8 +93,10 @@ defmodule PinchflatWeb.MediaItems.MediaItemController do conn |> put_resp_content_type(mime_type) - |> put_resp_header("content-length", to_string(file_size)) |> put_resp_header("accept-ranges", "bytes") + |> put_resp_header("content-range", "bytes 0-#{file_size - 1}/#{file_size}") + |> put_resp_header("content-length", to_string(file_size)) + |> put_resp_header("content-disposition", "inline; filename=\"#{media_item.title}\"") |> send_file(200, media_item.media_filepath) end else diff --git a/lib/pinchflat_web/controllers/media_items/media_item_html/show.html.heex b/lib/pinchflat_web/controllers/media_items/media_item_html/show.html.heex index 3f02e38..1f4d5bf 100644 --- a/lib/pinchflat_web/controllers/media_items/media_item_html/show.html.heex +++ b/lib/pinchflat_web/controllers/media_items/media_item_html/show.html.heex @@ -32,8 +32,16 @@