Skip to content
Snippets Groups Projects
Verified Commit e3eb75bd authored by Haelwenn's avatar Haelwenn
Browse files

Upload: Fix uploading with a ? in the filename

parent f20bfc9e
Branches
No related tags found
No related merge requests found
......@@ -215,7 +215,12 @@ defmodule Pleroma.Upload do
end
defp url_from_spec(base_url, {:file, path}) do
[base_url, "media", URI.encode(path)]
path =
path
|> URI.encode()
|> String.replace("?", "%3F")
[base_url, "media", path]
|> Path.join()
end
......
......@@ -152,5 +152,20 @@ defmodule Pleroma.UploadTest do
assert Path.basename(attachment_url["href"]) == "an%E2%80%A6%20image.jpg"
end
test "replaces ? (question-mark) to %3f" 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"
}
{:ok, data} = Upload.store(file)
[attachment_url | _] = data["url"]
assert Path.basename(attachment_url["href"]) == "an%3Fimage.jpg"
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment