diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2019-01-15 07:57:48 +0100 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2019-01-15 07:57:48 +0100 |
commit | 9fcdca1bdca04bdb52b7ac9a0d69e0886b12cb87 (patch) | |
tree | 44e259bad4646eeca47f7bbcb473adb3faea1a91 | |
parent | e3eb75bd234c8e21ff937d4f9b2a4a1328007e32 (diff) | |
download | pleroma-9fcdca1bdca04bdb52b7ac9a0d69e0886b12cb87.tar.gz |
Upload: Fix uploading with a : in the filename
-rw-r--r-- | lib/pleroma/upload.ex | 1 | ||||
-rw-r--r-- | test/upload_test.exs | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/pleroma/upload.ex b/lib/pleroma/upload.ex index 1d8b073af..b19920dff 100644 --- a/lib/pleroma/upload.ex +++ b/lib/pleroma/upload.ex @@ -219,6 +219,7 @@ defmodule Pleroma.Upload do path |> URI.encode() |> String.replace("?", "%3F") + |> String.replace(":", "%3A") [base_url, "media", path] |> Path.join() diff --git a/test/upload_test.exs b/test/upload_test.exs index ffef74270..b2d9eca38 100644 --- a/test/upload_test.exs +++ b/test/upload_test.exs @@ -153,19 +153,19 @@ defmodule Pleroma.UploadTest do assert Path.basename(attachment_url["href"]) == "an%E2%80%A6%20image.jpg" end - test "replaces ? (question-mark) to %3f" do + test "replaces : (colon) and ? (question-mark) to %3A and %3F (respectively)" do File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg") file = %Plug.Upload{ content_type: "image/jpg", path: Path.absname("test/fixtures/image_tmp.jpg"), - filename: "an?image.jpg" + filename: "is:an?image.jpg" } {:ok, data} = Upload.store(file) [attachment_url | _] = data["url"] - assert Path.basename(attachment_url["href"]) == "an%3Fimage.jpg" + assert Path.basename(attachment_url["href"]) == "is%3Aan%3Fimage.jpg" end end end |