Make upload process stable

The tmp dir phoenix liveview used for uploading the file was bound to that process. By copying the file to a save destination the upload process is stable again.
This commit is contained in:
2024-10-23 22:17:53 +02:00
parent 020847a36e
commit c58d472801

View File

@@ -21,7 +21,13 @@ defmodule MihainatorWeb.FileInputComponent do
@impl true @impl true
def handle_event("save", _params, socket) do def handle_event("save", _params, socket) do
consume_uploaded_entries(socket, :history, fn %{path: path}, _entry -> consume_uploaded_entries(socket, :history, fn %{path: path}, _entry ->
Task.async(fn -> Mihainator.Extractor.extract(path) end) dest =
System.tmp_dir!()
|> Path.join(Path.basename(path))
File.cp!(path, dest)
Task.async(fn -> Mihainator.Extractor.extract(dest) end)
{:ok, nil} {:ok, nil}
end) end)