diff options
author | Maksim <parallel588@gmail.com> | 2019-08-10 11:27:59 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-08-10 11:27:59 +0000 |
commit | bb9c53958038bb74ad76a9d887b15e6decb5249c (patch) | |
tree | e78112bdf099480cf1128f32da9a5014beb05e24 /lib | |
parent | 29807ef6a5b43a528ffca08b4f721b251f331c8d (diff) | |
download | pleroma-bb9c53958038bb74ad76a9d887b15e6decb5249c.tar.gz |
Uploader.S3 added support stream uploads
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/uploaders/s3.ex | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/pleroma/uploaders/s3.ex b/lib/pleroma/uploaders/s3.ex index 521daa93b..8c353bed3 100644 --- a/lib/pleroma/uploaders/s3.ex +++ b/lib/pleroma/uploaders/s3.ex @@ -6,10 +6,12 @@ defmodule Pleroma.Uploaders.S3 do @behaviour Pleroma.Uploaders.Uploader require Logger + alias Pleroma.Config + # The file name is re-encoded with S3's constraints here to comply with previous # links with less strict filenames def get_file(file) do - config = Pleroma.Config.get([__MODULE__]) + config = Config.get([__MODULE__]) bucket = Keyword.fetch!(config, :bucket) bucket_with_namespace = @@ -34,15 +36,15 @@ defmodule Pleroma.Uploaders.S3 do end def put_file(%Pleroma.Upload{} = upload) do - config = Pleroma.Config.get([__MODULE__]) + config = Config.get([__MODULE__]) bucket = Keyword.get(config, :bucket) - {:ok, file_data} = File.read(upload.tempfile) - s3_name = strict_encode(upload.path) op = - ExAws.S3.put_object(bucket, s3_name, file_data, [ + upload.tempfile + |> ExAws.S3.Upload.stream_file() + |> ExAws.S3.upload(bucket, s3_name, [ {:acl, :public_read}, {:content_type, upload.content_type} ]) |