35 lines
879 B
Elixir
35 lines
879 B
Elixir
|
defmodule ChiyaWeb.Uploaders.NoteImageTemp do
|
||
|
use Waffle.Definition
|
||
|
use Waffle.Ecto.Definition
|
||
|
|
||
|
# Include ecto support (requires package waffle_ecto installed):
|
||
|
# use Waffle.Ecto.Definition
|
||
|
|
||
|
@versions [:original]
|
||
|
|
||
|
# Whitelist file extensions:
|
||
|
def validate({file, _}) do
|
||
|
file_extension = file.file_name |> Path.extname() |> String.downcase()
|
||
|
|
||
|
case Enum.member?(~w(.jpg .jpeg .gif .png), file_extension) do
|
||
|
true -> :ok
|
||
|
false -> {:error, "invalid file type"}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
# Override the persisted filenames:
|
||
|
def filename(_version, {_file, %{id: image_id}}) do
|
||
|
image_id
|
||
|
end
|
||
|
|
||
|
# Override the storage directory:
|
||
|
def storage_dir(_version, _scope) do
|
||
|
"uploads/temp"
|
||
|
end
|
||
|
|
||
|
# Provide a default URL if there hasn't been a file uploaded
|
||
|
# def default_url(version, scope) do
|
||
|
# "/images/avatars/default_#{version}.png"
|
||
|
# end
|
||
|
end
|