1 defmodule Pleroma.Uploaders.Local do
2 def put_file(name, uuid, file, content_type) do
4 upload_path = get_upload_path(uuid, should_dedupe)
5 url_path = get_url(name, uuid, should_dedupe)
7 File.mkdir_p!(upload_folder)
9 result_file = Path.join(upload_folder, name)
11 if File.exists?(result_file) do
14 File.cp!(file.path, result_file)
21 settings = Application.get_env(:pleroma, Pleroma.Uploaders.Local)
22 Keyword.fetch!(settings, :uploads)
25 defp get_upload_path(uuid, should_dedupe) do
29 Path.join(upload_path(), uuid)
33 defp get_url(name, uuid, should_dedupe) do
35 url_for(:cow_uri.urlencode(name))
37 url_for(Path.join(uuid, :cow_uri.urlencode(name)))
42 "#{Web.base_url()}/media/#{file}"