diff options
author | kaniini <nenolod@gmail.com> | 2018-09-24 14:17:21 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2018-09-24 14:17:21 +0000 |
commit | 3de12c194fb32f23c1937af0274756963767ca83 (patch) | |
tree | 8f00b808538e7c41ff31a9b7f5c48dd2415d9bc8 /lib | |
parent | 72520550781bd9d3cf2ac18630d5e7f89546f84f (diff) | |
parent | f77ec96707bbce99725c4cad2ef5aea70511c6f2 (diff) | |
download | pleroma-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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/uploaders/s3.ex | 6 |
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 |