We can use node-tmp as temporary file and directory creator. Tmp
offers both an asynchronous and a synchronous API. It's a widely used library in node.js world.
Install
# locally npm install tmp # globally sudo npm install -g tmp cd ~/projects/projectA npm link tmp
Asynchronous file creation
var tmp = require('tmp'); var fs = require('fs'); tmp.file(function (err, path, fd, cleanupCallback) { if (err) throw err; console.log("File: ", path); console.log("Filedescriptor: ", fd); fs.writeFileSync(path, "Hello world!") });
Asynchronous file creation with prefix and postfix and keep file
var tmp = require('tmp'); var fs = require('fs'); tmp.file({prefix: 'projectA-', postfix: '.txt', keep: true}, function (err, path, fd, cleanupCallback) { if (err) throw err; console.log("File: ", path); console.log("Filedescriptor: ", fd); fs.writeFileSync(path, "Hello world!") });
Synchronous file creation
var tmp = require('tmp'); var tmpObj = tmp.fileSync({ mode: 0644, prefix: 'projectA-', postfix: '.txt' }); console.log("File: ", tmpObj.name); console.log("Filedescriptor: ", tmpObj.fd);
Also, you can create temporary directory and generate filename, more here.