- defp url_from_spec({:file, path}) do
- [Pleroma.Web.base_url(), "media", path]
+ defp url_from_spec(%__MODULE__{name: name}, base_url, {:file, path}) do
+ path =
+ URI.encode(path, &char_unescaped?/1) <>
+ if Pleroma.Config.get([__MODULE__, :link_name], false) do
+ "?name=#{URI.encode(name, &char_unescaped?/1)}"
+ else
+ ""
+ end
+
+ prefix =
+ if is_nil(Pleroma.Config.get([__MODULE__, :base_url])) do
+ "media"
+ else
+ ""
+ end
+
+ [base_url, prefix, path]