PhoenixImageTools.Uploader (phoenix_image_tools v0.3.0)

View Source

Provides a macro to define image uploaders with built-in support for multiple image sizes and format conversion.

Usage

defmodule MyApp.Uploaders.ProfileImageUploader do
  use PhoenixImageTools.Uploader

  @extension_whitelist ~w(.jpg .jpeg .gif .png .webp)

  def validate({file, _}) do
    file_extension = file.file_name |> Path.extname() |> String.downcase()
    Enum.member?(@extension_whitelist, file_extension)
  end

  def storage_dir(_, {_file, _scope}) do
    "uploads/profile_images"
  end
end