Working s3 compatible file uplaods!
This commit is contained in:
24
lib/mixer/posts/media_uploader.ex
Normal file
24
lib/mixer/posts/media_uploader.ex
Normal file
@@ -0,0 +1,24 @@
|
||||
defmodule Mixer.Posts.MediaUploader do
|
||||
use Waffle.Definition
|
||||
|
||||
@async false
|
||||
@versions [:original]
|
||||
@extensions ~w(.jpg .jpeg .png .gif .webp .mp4 .mov)
|
||||
|
||||
def validate({file, _scope}) do
|
||||
ext = file.file_name |> Path.extname() |> String.downcase()
|
||||
if ext in @extensions, do: :ok, else: {:error, "unsupported file type #{ext}"}
|
||||
end
|
||||
|
||||
def storage_dir(_version, {_file, scope}), do: "uploads/media/#{scope.id}"
|
||||
|
||||
def filename(_version, {file, _scope}) do
|
||||
Path.basename(file.file_name, Path.extname(file.file_name))
|
||||
end
|
||||
|
||||
def s3_object_headers(_version, {file, _scope}) do
|
||||
[content_type: MIME.from_path(file.file_name)]
|
||||
end
|
||||
|
||||
def acl(_version, _), do: :public_read
|
||||
end
|
||||
Reference in New Issue
Block a user