Upload: Fix uploading with a : in the filename
This commit is contained in:
parent
e3eb75bd23
commit
9fcdca1bdc
2 changed files with 4 additions and 3 deletions
|
@ -219,6 +219,7 @@ defp url_from_spec(base_url, {:file, path}) do
|
|||
path
|
||||
|> URI.encode()
|
||||
|> String.replace("?", "%3F")
|
||||
|> String.replace(":", "%3A")
|
||||
|
||||
[base_url, "media", path]
|
||||
|> Path.join()
|
||||
|
|
|
@ -153,19 +153,19 @@ test "escapes invalid characters in url" 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
|
||||
|
|
Loading…
Reference in a new issue