Cowboy and Elixir don't seem to agree on uri encoding...

This commit is contained in:
Roger Braun 2017-08-09 16:45:05 +02:00
parent 9c35456d77
commit a32784fe6d
2 changed files with 5 additions and 5 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, URI.encode(file.filename)))
"href" => url_for(Path.join(uuid, :cow_uri.urlencode(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, URI.encode(filename)))
"href" => url_for(Path.join(uuid, :cow_uri.urlencode(filename)))
}],
"name" => filename,
"uuid" => uuid

View File

@ -4,10 +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 List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20image.jpg"
assert data["name"] == "an [image.jpg"
assert List.first(data["url"])["href"] == "http://localhost:4001/media/#{data["uuid"]}/an%20%5Bimage.jpg"
end
end
end