aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2018-09-24 14:17:21 +0000
committerkaniini <nenolod@gmail.com>2018-09-24 14:17:21 +0000
commit3de12c194fb32f23c1937af0274756963767ca83 (patch)
tree8f00b808538e7c41ff31a9b7f5c48dd2415d9bc8
parent72520550781bd9d3cf2ac18630d5e7f89546f84f (diff)
parentf77ec96707bbce99725c4cad2ef5aea70511c6f2 (diff)
downloadpleroma-3de12c194fb32f23c1937af0274756963767ca83.tar.gz
Merge branch 'fix/s3/filenames-with-spaces' into 'develop'
Uploaders.S3: Replace unsafe characters in object key See merge request pleroma/pleroma!359
-rw-r--r--lib/pleroma/uploaders/s3.ex6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pleroma/uploaders/s3.ex b/lib/pleroma/uploaders/s3.ex
index ce0ed3e34..87322753d 100644
--- 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