Crate tempfile [] [src]

Securely create and manage temporary files. Temporary files created by this create are automatically deleted.

This crate provides two temporary file variants: a tempfile() function that returns standard File objects and NamedTempFile. When choosing between the variants, prefer tempfile() unless you either need to know the file's path or to be able to persist it.


use tempfile::tempfile;
use std::fs::File;

let mut file: File = tempfile().expect("failed to create temporary file");


Resource Leaking

tempfile() will (almost) never fail to cleanup temporary files but NamedTempFile will if its destructor doesn't run. This is because tempfile() relies on the OS to cleanup the underlying file so the file while NamedTempFile relies on its destructor to do so.


In the presence of pathological temporary file cleaner, relying on file paths is unsafe because a temporary file cleaner could delete the temporary file which an attacker could then replace.

tempfile() doesn't rely on file paths so this isn't an issue. However, NamedTempFile does rely on file paths.



A named temporary file.


Create a new temporary file with custom parameters.


Error returned when persisting a temporary file fails



Create an unnamed temporary file.


Create an unnamed temporary file in the specified directory.