commit: 3de12c194fb32f23c1937af0274756963767ca83
parent: 72520550781bd9d3cf2ac18630d5e7f89546f84f
Author: kaniini <nenolod@gmail.com>
Date: Mon, 24 Sep 2018 14:17:21 +0000
Merge branch 'fix/s3/filenames-with-spaces' into 'develop'
Uploaders.S3: Replace unsafe characters in object key
See merge request pleroma/pleroma!359
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/pleroma/uploaders/s3.ex b/lib/pleroma/uploaders/s3.ex
@@ -10,7 +10,7 @@ defmodule Pleroma.Uploaders.S3 do
File.rm!(path)
- s3_name = "#{uuid}/#{name}"
+ s3_name = "#{uuid}/#{encode(name)}"
{:ok, _} =
ExAws.S3.put_object(bucket, s3_name, file_data, [
@@ -21,4 +21,8 @@ defmodule Pleroma.Uploaders.S3 do
{:ok, "#{public_endpoint}/#{bucket}/#{s3_name}"}
end
+
+ defp encode(name) do
+ String.replace(name, ~r/[^0-9a-zA-Z!.*'()_-]/, "-")
+ end
end