URI encode filenames...

This commit is contained in:
Roger Braun 2017-08-09 15:21:34 +02:00
parent 9fd8640202
commit 9c35456d77
2 changed files with 5 additions and 4 deletions

View file

@ -13,7 +13,7 @@ def store(%Plug.Upload{} = file) do
"url" => [%{
"type" => "Link",
"mediaType" => file.content_type,
"href" => url_for(Path.join(uuid, file.filename))
"href" => url_for(Path.join(uuid, URI.encode(file.filename)))
}],
"name" => file.filename,
"uuid" => uuid
@ -38,7 +38,7 @@ def store(%{"img" => "data:image/" <> image_data}) do
"url" => [%{
"type" => "Link",
"mediaType" => content_type,
"href" => url_for(Path.join(uuid, filename))
"href" => url_for(Path.join(uuid, URI.encode(filename)))
}],
"name" => filename,
"uuid" => uuid

View file

@ -4,9 +4,10 @@ defmodule Pleroma.UploadTest do
describe "Storing a file" do
test "copies the file to the configured folder" do
file = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an_image.jpg"}
file = %Plug.Upload{content_type: "image/jpg", path: Path.absname("test/fixtures/image.jpg"), filename: "an image.jpg"}
data = Upload.store(file)
assert data["name"] == "an_image.jpg"
assert data["name"] == "an image.jpg"
assert List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20image.jpg"
end
end
end