Merge branch 'fix/s3/filenames-with-spaces' into 'develop'

Uploaders.S3: Replace unsafe characters in object key

See merge request pleroma/pleroma!359
This commit is contained in:
kaniini 2018-09-24 14:17:21 +00:00
commit 3de12c194f

View file

@ -10,7 +10,7 @@ def put_file(name, uuid, path, content_type, _should_dedupe) do
File.rm!(path) File.rm!(path)
s3_name = "#{uuid}/#{name}" s3_name = "#{uuid}/#{encode(name)}"
{:ok, _} = {:ok, _} =
ExAws.S3.put_object(bucket, s3_name, file_data, [ ExAws.S3.put_object(bucket, s3_name, file_data, [
@ -21,4 +21,8 @@ def put_file(name, uuid, path, content_type, _should_dedupe) do
{:ok, "#{public_endpoint}/#{bucket}/#{s3_name}"} {:ok, "#{public_endpoint}/#{bucket}/#{s3_name}"}
end end
defp encode(name) do
String.replace(name, ~r/[^0-9a-zA-Z!.*'()_-]/, "-")
end
end end