The temporary directory for data storage is often used.
It can be especially needed when the system prepares a file for sending, downloading, and processing data.
The most common use of /tmp
as the temporary directory is; however this can be dangerous!
Simply using the code below may not always work. You will feel it, mainly when you use releases or different operating systems.
1
2
temp_file = Path.join("/tmp", file_name_variable)
File.write!(temp_file, content)
Depending on the configuration, /tmp
may be represented differently.
But that’s not a problem for the Elixir language!
Just make a small modification to fix this problem:
1
2
3
4
temp_dir = System.tmp_dir!()
temp_file = Path.join(temp_dir, file_name_variable)
File.write!(temp_file, content)
System.tmp_dir!/0 may return different results, depending on environment variables and operating system. See the documentation for more details.