JavaScript:
Een tijdelijk bestand aanmaken
Hoe:
In JavaScript leunen de meeste bewerkingen voor tijdelijke bestanden op externe bibliotheken. Hier is een snel voorbeeld met behulp van de tmp
bibliotheek, die je kunt installeren met npm install tmp
.
const tmp = require('tmp');
// Een tijdelijk bestand aanmaken
tmp.file((err, path, fd, cleanupCallback) => {
if (err) throw err;
console.log(`Bestandspad: ${path}`);
// Doe dingen met het bestand...
// Wanneer je klaar bent, ruim het op
cleanupCallback();
});
Een voorbeelduitvoer zou er zo uit kunnen zien:
Bestandspad: /tmp/tmp-9Xp2nVn6hB5W.tmp
Diepgaand
Het maken van tijdelijke bestanden heeft een lange geschiedenis in de informatica, teruggaand tot de tijden dat het systeemgeheugen beperkt was en tussenliggende gegevens een plaats nodig hadden om te verblijven. In Node.js kan de fs
module worden gebruikt om tijdelijke bestanden aan te maken, maar het mist ingebouwde tools voor het genereren van tmp-bestanden.
Het gebruik van bibliotheken zoals tmp
of tempfile
is vrij gebruikelijk. Ze creëren unieke bestandsnamen, waardoor het risico van naamconflicten wordt verminderd en ze meestal zelf de opruiming afhandelen. fs.mkdtemp
kan ook nuttig zijn voor het maken van een tijdelijke directory voor het plaatsen van meerdere tmp-bestanden.
Wat de interne werking betreft, gebruiken deze bibliotheken typisch de native mechanismen van het besturingssysteem om deze bestanden veilig aan te maken, waarbij ze vaak in een door het systeem gedefinieerde tijdelijke directory worden geplaatst. Op Unix-achtige systemen is dit meestal /tmp
, terwijl Windows iets complexers gebruikt onder LocalAppData
.
Wanneer je met tijdelijke bestanden omgaat, onthoud dan dat terwijl ze “tijdelijk” zijn, onjuiste afhandeling kan leiden tot beveiligingskwetsbaarheden of achtergebleven bestanden die het systeem vervuilen.
Zie Ook
- Node.js fs module - voor handmatige bestandsbewerkingen.
tmp
pakket op npm - een hulpprogramma voor tijdelijke bestanden en mappen.tempfile
pakket op npm - voor het maken van een willekeurig tijdelijk bestandspad.