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 @@ defmodule Pleroma.Upload do
"url" => [%{ "url" => [%{
"type" => "Link", "type" => "Link",
"mediaType" => file.content_type, "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, "name" => file.filename,
"uuid" => uuid "uuid" => uuid
@ -38,7 +38,7 @@ defmodule Pleroma.Upload do
"url" => [%{ "url" => [%{
"type" => "Link", "type" => "Link",
"mediaType" => content_type, "mediaType" => content_type,
"href" => url_for(Path.join(uuid, filename)) "href" => url_for(Path.join(uuid, URI.encode(filename)))
}], }],
"name" => filename, "name" => filename,
"uuid" => uuid "uuid" => uuid

View File

@ -4,9 +4,10 @@ defmodule Pleroma.UploadTest do
describe "Storing a file" do describe "Storing a file" do
test "copies the file to the configured folder" 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) 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 end
end end